Kyl*_*han 11 uitoolbar uiimage uibarbuttonitem ios
我在我的UIToolbar中有一个按钮,我已经分配了一个图像,但我希望图像能够自动缩小(调整应用程序外部图像的尺寸会降低一些质量).
我在这里尝试了解决方案,它创建了一个自定义的imageView,然后将其分配给按钮.但是,图像似乎没有出现.这是我的代码:
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"info.png"]];
imageView.frame = CGRectMake(0, 0, 35, 35);
imageView.contentMode = UIViewContentModeScaleAspectFit;
imageView.userInteractionEnabled = YES;
UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:imageView];
self.tutorial_lbl = barButtonItem;
Run Code Online (Sandbox Code Playgroud)
请注意,如果我注释掉最后两行并使用下面的行代替,则会出现图像但是它会丢失按钮的操作.
[self.tutorial_lbl setCustomView:imageView];
Run Code Online (Sandbox Code Playgroud)
rde*_*mar 11
我假设添加自定义视图与使用initWithCustomView时相同:创建条形按钮项.在那种情况下,文档说,
此方法创建的条形按钮项不会响应用户交互调用其目标的操作方法.相反,bar按钮项期望指定的自定义视图处理任何用户交互并提供适当的响应.
因此,您应该在图像视图中添加一个点击手势识别器,并为其设置一个操作方法,
- (void)viewDidLoad {
[super viewDidLoad];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 35, 35)];
imageView.image = [UIImage imageNamed:@"info.png"];
UITapGestureRecognizer *tapper = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(barButtonTapped:)];
[imageView addGestureRecognizer:tapper];
imageView.userInteractionEnabled = YES;
[self.tutorial_lbl setCustomView:imageView];
}
-(void)barButtonTapped:(UITapGestureRecognizer *) sender {
NSLog(@"Tapped");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5650 次 |
| 最近记录: |