我刚刚安装了xcode 6来测试我的应用程序如何使用它。
初始页面上的facebook登录按钮似乎不起作用。
这是我的代码:
@property (nonatomic, strong) UIButton *loginButton;
- (void)viewDidLoad
{
[super viewDidLoad];
self.loginButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 200, 70)];
self.loginButton.center = self.view.center;
[self.loginButton setImage:[UIImage imageNamed:@"login_fb.png"] forState:UIControlStateNormal];
[self.view addSubview:self.loginButton];
[self.loginButton addTarget:self action:@selector(loginButtonPressed) forControlEvents:UIControlEventTouchUpInside];
}
-(void)loginButtonPressed
{
// perform login
}
重要的是要注意应用程序从不同的视图开始。在该视图控制器中,我检查用户是否存在,如果不存在,则显示登录视图。这是代码:
if ([DCTUserIdentity currentIdentity] == nil) {
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]];
DCTInitialLoginVC *vc = [sb instantiateViewControllerWithIdentifier:@"InitialLogin"];
vc.delegate = self;
[self presentViewController:vc animated:NO completion:^{}];
}
我在loginButtonPressed
函数中放了一个断点,当我尝试点击按钮时它永远不会被击中......任何想法都在发生?
答案 0 :(得分:0)
这似乎不是一个错误,但使用Xcode 6定位iOS 7设备的不兼容问题。ecotax's post更详细地描述了这一点,但这是Apple DTS的回复:
在iOS 7中,单元格的内容视图通过自动调整蒙版自行调整大小。在iOS 8中,这已更改,单元格停止使用自动调整蒙版并开始调整layoutSubviews中的内容视图大小。如果在iOS 8中对nib进行编码然后在iOS 7上对其进行解码,则您将拥有一个没有自动调整掩码的内容视图,并且没有其他方法可以自行调整大小。因此,如果您更改了单元格的框架,则内容视图将不会跟随。
正在部署回iOS 7的应用程序必须通过调整内容视图本身,添加自动调整掩码或添加约束来解决此问题。
解决方法:
- (void)awakeFromNib
{
// Fix for iOS 7 devices targeted using Xcode 6.
self.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
}
答案 1 :(得分:0)
试试这段代码:
- (void)viewDidLoad
{
[super viewDidLoad];
self.loginButton = [UIButton buttonWithType:UIButtonTypeCustom];
self.loginButton.frame = CGRectMake(0, 0, 200, 70);
self.loginButton.center = self.view.center;
[self.loginButton setImage:[UIImage imageNamed:@"login_fb.png"]
forState:UIControlStateNormal];
[self.view addSubview:self.loginButton];
[self.loginButton addTarget:self action:@selector(loginButtonPressed:)
forControlEvents:UIControlEventTouchUpInside];
}
用强指针抓住你的DCTInitialLoginVC
对象。