我在Objective-C中完成了一个iPhone应用程序。当我想将Label链接到某些数据时,我会将其声明为:
@interface CityDetailViewController : UIViewController {
UILabel *cityName;
}
@property(nonatomic, retain) IBOutlet UILabel *cityName;
然后当在代码中创建CityDetailViewController对象时,我会设置城市名称,如[self.cityView.cityName setText:city.name];
对于我的生活,我不能在MonoTouch中弄清楚如何做到这一点。 我尝试通过Interface Builder手动创建Outlets,并尝试添加我在另一个项目的.designer.cs文件中找到的代码:
[MonoTouch.Foundation.Connect("headlineLabel")]
private MonoTouch.UIKit.UILabel headlineLabel {
get {
return ((MonoTouch.UIKit.UILabel)(this.GetNativeField("headlineLabel")));
}
set {
this.SetNativeField("headlineLabel", value);
}
}
我尝试过这两种方法的组合。 它们不起作用。 我能得到的最接近的是使用Interface Builder实际应用Outlet,但是当我的View被声明时我得到了这个错误:
此类不符合关键标题符号的密钥标题。
所以我完全不知所措。 有人可以向我解释一下吗?
答案 0 :(得分:17)
很确定我已经弄清楚了所以我会在这里发布这个过程供其他人查看:
步骤1)从您的空视图开始,如下所示: step 1 http://www.jamespwright.com/images/public/screengrabs/7f2b8d35406e98ee5a00a81c6346e373.PNG
步骤2)在视图中添加UILabel控件: step 2 http://www.jamespwright.com/images/public/screengrabs/d757c579238ffc27acabb69c55460071.PNG
步骤3)选择“文件所有者”: step 3 http://www.jamespwright.com/images/public/screengrabs/42900214063dbbc44cd4dbc2813d64eb.PNG
步骤4)选择Identity Inspector(CMD + 4)并添加新的Class Outlet: step 4 http://www.jamespwright.com/images/public/screengrabs/109318382a72ac9edad2bcd24e6a4b9f.PNG
步骤5)选择Connections Inspector(CMD + 2),您应该在那里看到新的Class Outlet: step 5 http://www.jamespwright.com/images/public/screengrabs/2a2f9f4f0cc6680e7dd8c47cabba7e24.PNG
步骤6)将连接拖到视图上的标签上。
步骤7)在您的代码中,您可以通过键入myLabel.Text = "My Label!"
希望将来可以帮助其他人。