从我的CustomClass:UICollectionViewCell访问出口时,它们显示为未初始化且无法设置正确的值。
我见过的每个例子都使用普通的Class(没有XIB)来设置UI。
[Register("CustomCommentCell")]
public partial class CustomCommentCell : UICollectionViewCell
{
public static readonly NSString Identifier = new NSString("CustomCommentCell");
public CustomCommentCell () : base()
{
}
public CustomCommentCell (IntPtr handle) : base (handle)
{
}
public void updateData()
{
this.lblComment.Text = "Test";
}
}
另一方面,我已经注册了班级: this.tableComments.RegisterClassForCell(typeof(CustomCommentCell),commentCellId);
并正确设置GetCell。 但是,在尝试将出口设置为特定值时,它表示它为空。 (this.lblcomment = null)虽然它应该是UILabel初始化。
任何线索?
答案 0 :(得分:2)
使用XIB创建Custom CollectionViewCell。执行以下操作
1)创建继承自UIcollectionViewCell的C#类
[Register("MyCustomCell")]
public class MyCustomCell : UICollectionViewCell
{
public static readonly NSString Key = new NSString ("MyCustomCell");
[Export ("initWithFrame:")]
public MyCustomCell(CoreGraphics.CGRect frame) : base (frame)
{
}
public override UIView ContentView {
get {
var arr= NSBundle.MainBundle.LoadNib ("MyCustomCell", this, null);
UIView view =arr.GetItem<UIView> (0);
view.Frame = base.ContentView.Frame;
base.ContentView.AddSubview (view);
return base.ContentView;
}
}
}
2)添加IphoneView XIB文件,其名称与步骤1中创建的Class相同
3)在XCODE中打开XIB并执行以下更改
3.1)选择FileOwner,将Class命名为Step 1 3.2)选择视图设置类名称UIView
4)相应地设计您的XIB
答案 1 :(得分:0)
我无法理解你所看到的问题。什么是“Custom XIB outlet”?为什么这个问题被标记为“自定义控件”?是否有一些示例代码或图片可以显示以帮助解释问题?
我用于UICollectionViewCell的方法与我用于UITableViewCell的方法相同 - 请参阅教程 - http://slodge.blogspot.co.uk/2013/01/uitableviewcell-using-xib-editor.html
更新:从您发布的评论代码(不确定它是否完整),我认为按照该教程进行操作会很有用。有几个步骤需要完成,包括注册自定义类名,包括使用RegisterNibForCellReuse
- 其中一个可能会为您解决此问题。