如何将自定义UIViewController添加到现有XIB?

时间:2013-02-06 21:17:39

标签: xamarin.ios uicollectionview

我刚刚用MonoTouch弄湿了并且有最基本的问题。在他们的教程中,他们将直接通过XCode的Interface Builder向XIB添加控件。但是,我无法弄清楚如何向XIB添加自定义控件。

我已经看到了一些子类化基本UICollectionView的示例,以便根据您自己的目的对其进行自定义,并在我的项目中使用C#代码完成此操作。我的问题是,如何将UICollectionView的特定子类添加到XIB中以便在项目中使用?

1 个答案:

答案 0 :(得分:1)

对于普通的UIView,您需要经历的基本步骤是:

  1. 在C#中创建自定义视图作为类

    public class MyView
    {
    }
    
  2. 将UIView基类添加到其中,添加Register属性并添加两个构造函数:

    [Register("MyView")]
    public class MyView : UIView
    {
        public MyView() {}
        public MyView(IntPtr handle) : base(handle) {}
    }
    
  3. 为了使它做一些有用的事情,然后添加一个Draw实现:

    public override Draw(RectangleF rect)
    {
        var context = UIGraphics.CurrentGraphics();
        UIColor.Red.SetFill();
        context.FillEclipseInRect(rect);
    }
    
  4. 保存并构建项目

  5. 现在,在您想要使用自定义视图的UIViewController的XIB编辑器中,将UIView添加到设计图面

  6. 选择UIView并在Identity Inspector中,将UIView的“自定义类”设置为“MyView”

  7. 将所有内容保存在xCode

  8. 返回MonoDevelop,构建并运行

  9. 有一个关于此流程的视频: - http://www.youtube.com/watch?v=ggwO46dd-50&feature=youtube_gdata

    对于自定义UICollectionView,UILabel,UITableViewCell或任何其他UIView基类,您可以执行类似的步骤,只需使用不同的基类和不同的构造函数,以支持特定的视图。

    有关自定义表格单元格的视频,请参阅:http://slodge.blogspot.co.uk/2013/01/uitableviewcell-using-xib-editor.html

相关问题