mru*_*ueg 5 iphone uibutton uinavigationcontroller uibarbuttonitem custom-view
我有一个UINavigationBar与自定义UIBarButtonItem(它使用UIButton作为其自定义视图).问题是:自定义按钮的活动区域太大,如果我点击按钮外至少40个像素,它仍然会被注册为按下按钮.这会导致意外敲击.如何减少这些按钮上的活动区域?
我也注意到了这种古怪.我发现使用容器UIView修复了这个问题.例如:
UIButton *menuButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
[menuButton addTarget:self action:@selector(revealMenu:) forControlEvents:UIControlEventTouchUpInside];
[menuButton setImage:[UIImage imageNamed:@"menuIcon"] forState:UIControlStateNormal];
UIView *menuButtonContainer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
[menuButtonContainer addSubview:menuButton];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:menuButtonContainer];
Run Code Online (Sandbox Code Playgroud)
我认为您没有更改自定义按钮的大小...尝试这样做...在界面生成器中选择您想要减少活动区域的按钮,然后按“Command+3”或“工具 -->尺寸检查器”,减少“W”和“H”值...这将使自定义按钮更小,因此活动区域也会减少...
〜拉维拉佳
| 归档时间: |
|
| 查看次数: |
4034 次 |
| 最近记录: |