- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想制作没有 nib 文件的 MvxTableViewCell,但我在 stackoverflow、github 中搜索和谷歌,我无法很好的示例来手动制作 MvxTableViewCell。
我尝试过这样的代码,
namespace KittenView.Touch
{
public partial class KittenCell : MvxTableViewCell
{
public static readonly NSString Key = new NSString ("KittenCell");
private readonly MvxImageViewLoader _imageViewLoader;
MonoTouch.UIKit.UIImageView MainImage { get; set; }
MonoTouch.UIKit.UILabel NameLabel { get; set; }
MonoTouch.UIKit.UILabel PriceLabel { get; set; }
public KittenCell () : base ()
{
this.Frame = new RectangleF(0f,0f,100f,120f);
MainImage = new UIImageView (new RectangleF(0f,0f,100f,100f));
NameLabel = new UILabel (new RectangleF (0f, 80f, 100f, 20f));
PriceLabel = new UILabel (new RectangleF (0f, 100f, 100f, 20f));
Add (MainImage);
Add (NameLabel);
Add (PriceLabel);
_imageViewLoader = new MvxImageViewLoader(() => this.MainImage);
this.DelayBind (() => {
var set = this.CreateBindingSet<KittenCell, Kitten>();
set.Bind(NameLabel).To (kitten => kitten.Name);
set.Bind(PriceLabel).To(kitten => kitten.Price);
set.Bind(_imageViewLoader).To (kitten => kitten.ImageUrl);
set.Apply ();
});
this.Transform = CGAffineTransform.MakeRotation ((float)Math.PI / 2.0f);
}
public static KittenCell Create ()
{
return new KittenCell ();
}
}
}
但是这段代码在执行阶段出现Exception,表示
SetValue:forUndefinedKey:]此调用不符合键 MainImage 的键值编码。
在 AppDelegate.cs 的 window.MakeKeyAndVisible() 处。
如何在没有 Nib 的情况下使用 MvxTableViewCell?
问候,
小黑
最佳答案
最简单的方法是使用 RegisterClassForCell
将单元格注册到 TableView ,然后使用 DequeueReusableCell
来创建或重用单元格。
为了允许 UIKit 在出队调用中使用此方法创建此类的实例,那么我认为您需要添加;
类前面的 [Register("KittenCell")]
属性 - MonoTouch 使用此属性告诉 ObjectiveC 运行时有关此托管类的信息 - 它允许此实例从 ObjectiveC 创建托管类,
一个构造函数,它接受一个(IntPtr handle)
参数,并将该参数向下传递给base(handle)
构造函数。此构造函数用于允许托管 C# 对象与底层非托管 UIKit 对象一起创建。
如果你添加这两个项目,我相信你的单元格将会被创建。此外,如果您切换到更简单的 RegisterClassForCell
API,那么我认为您可以删除无参数构造函数和静态 Create
方法。
关于xamarin - 创建没有 Nib 的 MvxTableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17799802/
我正在尝试在手写笔中使用 Nib CSS3 扩展。安装了手写笔和 Nib (尝试了本地和全局 -g)。但没有一个工作,当我做 stylus styles.styl > build/styles.css
我们当前的best-practice for custom views是: 在 Nib 中构建自定义 View 。 在 View Controller 中,以编程方式加载 Nib,从加载的对象数组中获
我是界面构建器的新手,我想要一个包含 UIView 的 3x3 网格的屏幕,每个网格都包含一个 UIImageView 和 4 个 UILabels。 我的逻辑可能有缺陷,但我试图实现这一目标的方式是
我有一个用 Swift 编写的框架/模块,它提供了一些具有 IBDesignable 功能的自定义控件。 目前我正在开发一个基于 CollectionView 的控件。 CollectionView
我有两个 nib 文件 - Main.nib 和 Preference.nib在 Main.nib 文件中,我有一个 NSView 类的实例。它的窗口有一个NSPopUpButton,单击它会显示一个
我想创建一个节标题来加载一个 nib 文件并将其设置为标题 UIView。这个 nib 文件还将有一个关联的类,其中连接了 outlets 和 action,所以我想像平常一样用 nib 加载那个类。
我正在尝试使用来自 this pre-built page menu pod from github 在说明中,它说: var controller : UIViewController =
我是 Cocoa 新手,无法将我的 nib 文件拆分为多个 nib 文件。 我的MainMenu.nib包含一个Tracker Controller对象,它是NSObject的子类。它在我的主菜单中有
我通过 XIB 创建了 CustomViewController。 我还通过作为 UIView 子类的不同 XIB 文件创建了 CustomView。 然后我将 UIView 绑定(bind)到 Cu
我正在使用自定义 UITableViewCell。当我尝试运行我的代码时,我得到了这个异常堆栈,我无法理解问题的根源: terminating app due to uncaught exceptio
我有两个 Nib ParentViewController.xib ChildViewController.xib ParentViewController.xib 包含一个 UIView 和一个 U
我一开始使用了一些 NSWindows 项目,但我的 GUI 正在不断发展,这些元素将更适合作为 NSViews。有没有办法将 NSWindow NIB 转换为 NSView NIB? 最佳答案 不存
我想要具有正确顺序的 View Controller 生命周期功能的完整列表。请任何天才。 请指定ViewController生命周期函数. 请指定序列号,例如用法:,并且仅使用简短描述。示例: 与使
我有两个 Nib :Parent.xib 和 Child.xib。 我已将子 Nib 包含在父 Nib 内以简化绑定(bind)。我在 loadView 中以编程方式设置 subview 。问题是,a
我正在开发一款通用应用程序,iPhone 版本运行良好。我为 iPad 创建了一个新的 nib,并将文件所有者设置为 viewcontroller 类。我连接了所有的 IBOutlets 和 IBAc
我有两个 UIViews,我将它们称为 A 和 B。 A 是B 的容器,每一个都是使用Interface Builder 创建的。 我需要使用界面生成器将我的 B View 添加到 A 中,如下图所示
谁能解释什么时候对同一个 NIB 文件使用多个 View 比使用多个 NIB 文件更好? 一个 NIB 文件可以包含多个 View ,因此有时使用一种方法比使用另一种方法更好。 我是不是太含糊了? 最
简单的任务:我有一个带有 2 个 NIB 文件的应用程序(每个 NIB 文件都有自己的 Controller )。我已经成功地显示了第二个 NIB 文件的窗口,就像我想要的那样,但现在,我想单击 NI
目前,我有一个托管上下文、许多相互关联的实体 NSArrayController,以及几个 Windows,每个 Windows 都使用 1 或 2 个 NSArrayController。 Wind
尝试创建一个 tableView 单元格 xib,但遇到错误“加载了 nib 但未设置 View 导出” 我读过很多帖子,大多数人都说将“ View ”从文件所有者拖到 IB View 。 但是,如果
我是一名优秀的程序员,十分优秀!