ボタンのhidden変更について


現在、ボタン２をAttributesInspectorでHiddenにチェックをつけ使えないようにしています、これをナビゲーションバーに設置したボタン１を押すとボタン２がHidden
= NOになり、ボタン２が使える状態にしたいです。

コードは

ViewController.m

[code]

    #import "CollectionHeaderView.h"
    
    - (void)willTrash:(UIBarButtonItem *)sender
    {
        //削除ボタンを表示Hidden = NOに
        CollectionHeaderView *collectionView = [[CollectionHeaderView
    alloc] init];
        [collectionView sectionCanSee];
    }
    
[/code]

CollectionHeaderView.h

[code]

    @property (weak, nonatomic) IBOutlet UIButton *tappedSectionDelete;
    
[/code]

CollectionHeaderView.m

[code]

    - (void)sectionCanSee
    {
        NSLog(@"ここは実行される");
        self.tappedSectionDelete.hidden = NO;
    }
    
[/code]

これで実行してもうまくいきません。  
どなたか宜しくお願いします。




`cannot be connected to repeating content`エラーについて。  
`UICollectionView`の`Section
Header`はセクションごとに１つ作られる、つまり複数存在する可能性があります。なので、ストーリーボードで`Outlet`に設定しようとしても、いっぱいある`Section
Header`のうち、どれを指しているのか判断できないため、エラーになるのだと思います。

さて、解決方法について。  
`Section Header`は`UICollectionViewDataSource`の  
`collectionView:viewForSupplementaryElementOfKind:atIndexPath:`で作られますので、この機会を利用してはいかがでしょうか？

[code]

    ///セクションヘッダーを作って返す
    - (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView
               viewForSupplementaryElementOfKind:(NSString *)kind
                                     atIndexPath:(NSIndexPath *)indexPath
    {
        CollectionHeaderView *view = 
          [collectionView dequeueReusableSupplementaryViewOfKind:kind
                                             withReuseIdentifier:"ストーリーボードで設定したIdentifier"
                                                    forIndexPath:indexPath];
    
        if (self.isButton1Pressed == YES) {
            view.button2.hidden = NO;
        }
    
        return view;
    }
    
    /// ボタン1が押されると実行される
    - (IBAction)button1Pressed:(id)sender
    {
        self.isButton1Pressed = YES;
        [self.collectionView reloadData]; //もう一度collectionView:viewForSupplementaryElementOfKind:atIndexPath:を実行したいので
    }
    
[/code]




`cannot be connected to repeating content`エラーについて。  
`UICollectionView`の`Section
Header`はセクションごとに１つ作られる、つまり複数存在する可能性があります。なので、ストーリーボードで`Outlet`に設定しようとしても、いっぱいある`Section
Header`のうち、どれを指しているのか判断できないため、エラーになるのだと思います。

さて、解決方法について。  
`Section Header`は`UICollectionViewDataSource`の  
`collectionView:viewForSupplementaryElementOfKind:atIndexPath:`で作られますので、この機会を利用してはいかがでしょうか？

[code]

    ///セクションヘッダーを作って返す
    - (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView
               viewForSupplementaryElementOfKind:(NSString *)kind
                                     atIndexPath:(NSIndexPath *)indexPath
    {
        CollectionHeaderView *view = 
          [collectionView dequeueReusableSupplementaryViewOfKind:kind
                                             withReuseIdentifier:"ストーリーボードで設定したIdentifier"
                                                    forIndexPath:indexPath];
    
        if (self.isButton1Pressed == YES) {
            view.button2.hidden = NO;
        }
    
        return view;
    }
    
    /// ボタン1が押されると実行される
    - (IBAction)button1Pressed:(id)sender
    {
        self.isButton1Pressed = YES;
        [self.collectionView reloadData]; //もう一度collectionView:viewForSupplementaryElementOfKind:atIndexPath:を実行したいので
    }
    
[/code]

