有一个变量agencyWebsite
和一个标签,应该在点击下面方法的时候打开一个网站。
- (void)website1LblTapped {
NSURL *url = [NSURL URLWithString:self.agencyWebsite];
[[UIApplication sharedApplication] openURL:url];
}
在编译器的警报:
Incompatible pointer types sending UILabel* to parameter of type NSString*
``
再点击网站应用就会崩溃。不知道应该怎么解决?
下面是设置label点击的代码:
UITapGestureRecognizer* website1LblGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(website1LblTapped)];
// if labelView is not set userInteractionEnabled, you must do so
[self.agencyWebsite setUserInteractionEnabled:YES];
[self.agencyWebsite addGestureRecognizer:website1LblGesture];
运行代码:
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@", self.agencyWebsite.text]];
If
如何agencyWebsite是UILabel*
类型,你需要访问它的text
属性,不应该传递对象本身到 URLWithString:
- (void)website1LblTapped {
NSURL *url = [NSURL URLWithString:self.agencyWebsite.text];
[[UIApplication sharedApplication] openURL:url];
}
调用 self.agencyWebsite
会返回您的UILabel*
对象。同时self.agencyWebsite.text
会返回包含标签text
的NSString*
对象。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。