1

我有以下代码在 UIToolbar (postoInfo) 上添加 UIBarButtonItem 类型的按钮:

UIImage *faceImage = [UIImage imageNamed:@"informazioni.png"];
UIButton *face = [UIButton buttonWithType:UIButtonTypeCustom];

[face addTarget:self action:@selector(press:) forControlEvents:UIControlEventTouchUpInside];

face.bounds = CGRectMake( 0, 0, 30, 30 );
[face setImage:faceImage forState:UIControlStateNormal];

buttonOne = [[UIBarButtonItem alloc] initWithCustomView:face];

NSArray *buttons = [NSArray arrayWithObjects: buttonOne, nil];

[postoInfo setItems: buttons animated:YES];

我会在按下按钮时调用一个方法,我添加了以下行,但不起作用:

[face addTarget:self action:@selector(press:) forControlEvents:UIControlEventTouchUpInside];
4

2 回答 2

3

您应该为 UIButton 提供正确的 frame 属性,现在它具有 CGRectZero:

face.frame = CGRectMake( 0, 0, 30, 30 ); 

Cocoa:frame 和 bounds 有什么区别?

于 2012-05-27T15:50:17.590 回答
0

我首先想到的是您正在为 UIButton 设置操作,但您正在使用 UIButton 的视图初始化 UIBarButtonItem。该操作未保存在视图中。您尝试为 UIBarButtonItem 设置操作。

于 2012-05-27T16:07:45.920 回答