2013-02-06 49 views
1

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

我已经看到了许多子类化基本UICollectionView的例子,以便为您自己的目的进行自定义,并且已经在我的项目中的C#代码中完成了这些。我的问题是,如何将UICollectionView的特定子类添加到XIB以用于该项目?

+0

我把它的意见,因为我不记得正确的标签,但在侧视片(其中包含关于大小的信息以及特定于该控件的信息)有一个选项卡说明视图控件是什么类,您可以将其更改为您的子类。 – CBredlow

+0

因此,我添加一个普通的UICollectionView到屏幕上,然后将属性更改为引用在我的项目中定义的MyUICollectionView?也许Identity Inspector上的“Custom Class”属性? –

回答

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. 为了使它做一些有用的东西,然后添加一个抽奖实现:

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

  5. 现在在XIB编辑器中,你想用你的自定义视图中的UIViewController,添加一个UIView到设计图面

  6. 选择的UIView和身份检查,设置了UIView的“自定义类”到“MyView的”

  7. 保存一切都在Xcode

  8. 回到MonoDevelop中,构建和运行

有这种流可用的视频在: - 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

相关问题