-1

ここに画像の説明を入力してください

xibファイルにバーボタンアイテムがあります。

.h:

    @property (nonatomic, retain) IBOutlet UIBarButtonItem *toolbarButton;

.m:

    UIButton *aboutToolbarButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [aboutToolbarButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
    [aboutToolbarButton setTitle:@"about" forState:UIControlStateNormal];
    aboutToolbarButton.titleLabel.font = [UIFont fontWithName:@"Helvetica" size:12.0f];
    [aboutToolbarButton.layer setCornerRadius:4.0f];
    [aboutToolbarButton.layer setMasksToBounds:YES];
    [aboutToolbarButton.layer setBorderWidth:1.0f];
    [aboutToolbarButton.layer setBorderColor: [[UIColor grayColor] CGColor]];
    aboutToolbarButton.frame = CGRectMake(0.0, 100.0, 60.0, 30.0);
    [aboutToolbarButton addTarget:self action:@selector(getToUserSettingsViewController) forControlEvents:UIControlEventTouchUpInside];
    self.toolbarButton = [[UIBarButtonItem alloc] initWithCustomView:aboutToolbarButton];

ボタンでファイルの所有者に接続しましたが、機能しません。これを手伝ってください。

どうもありがとうございます!

4

2 に答える 2

1

正確に機能しないものは何ですか?

aboutToolbarButton.frame = CGRectMake(0.0、100.0、60.0、30.0 ;

y = 100?ツールバーの高さはわずか44ピクセルです...

于 2012-06-13T14:27:36.503 に答える
0

これが起こっていることです:

  1. Interface Builderを使用して、UIBarButtonItemをコントローラーにリンクし、その特定のUIBarButtonItemがself.toolbarButtonであることをコントローラーに通知します。

  2. 次に、コードで、self.toolbarButtonが、コードを使用してコードによって作成した(ただし、まだビューに追加していない)別のボタンであることをコントローラーに通知します。

[[UIBarButtonItem alloc] initWithCustomView:aboutToolbarButton];

これで、self.toolbarButtonはInterfaceBuilderのボタンではなくなりました。

したがって、ビューに表示されるボタンは、そのボタンにセレクターを割り当てていないため、「機能していない」と考えられます。

インターフェイスビルダーを使用して、IBActionをボタンにリンクすることをお勧めします。

以上のことをすべて言っても、InterfaceBuilderがどのように機能するかを理解していないようです。より多くのチュートリアルを読むか、さらに良い方法をお勧めします。Apressのこの本を入手してください:http: //www.apress.com/9781430236054

于 2012-06-13T14:37:13.290 に答える