【发布时间】:2017-09-28 03:12:35
【问题描述】:
我刚刚将我的设备更新到 iOS 以测试我的应用程序,为 iOS 11 做准备。我在顶部有一个工具栏,按钮似乎不再起作用 - 图像在 iOS 10 及更低版本中运行良好。
这是我初始化图像的方式:
@property (strong, nonatomic) IBOutlet UIToolbar *navBar;
@property (strong, nonatomic) IBOutlet UIBarButtonItem *refreshButton;
path = [NSString stringWithFormat: @"https://s3.amazonaws.com/myapp/images/refresh.png"];
url = [NSURL URLWithString:path];
data = [NSData dataWithContentsOfURL:url];
refreshButton = [[UIImage alloc] initWithData:data];
smallerButton = [TRUtils imageWithImage:refreshButton scaledToSize:CGSizeMake(20, 20)];
//TODO: Check image exists
self.refreshButton = [[UIBarButtonItem alloc] initWithImage:[smallerButton imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
style:UIBarButtonItemStylePlain
target:self
action: @selector(refreshButtonPushed:)];
[self.refreshButton setTarget:self];
self.refreshButton.enabled = YES;
self.refreshButton.imageInsets = UIEdgeInsetsMake(32, 32, 32, 32);
然后我将它们添加到这里的导航栏:
self.navBar.items = [NSArray arrayWithObjects:self.backButton, self.forwardButton, self.flex, self.toolbarTitle, self.flex, self.refreshButton, self.flex, self.homeButton, nil];
知道为什么图像会在 iOS 11 中停止显示,但在 iOS 10 中显示正常吗?
这些按钮似乎仍然“有效”,但它们只是空白,因此人们不会知道它们可用。
this SO 似乎有解决方案。但是当我设置时:
self.navigationController.interactivePopGestureRecognizer.delegate = self;
和
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)] &&
gestureRecognizer == self.navigationController.interactivePopGestureRecognizer) {
return NO;
}
return YES;
}
问题仍然存在。
【问题讨论】:
标签: ios objective-c