- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
好的,所以这个可能有点挑战,因为它是单点触控...
我有一个可重复使用的自定义工具栏,我计划在多个屏幕上重复使用。
我想在 Interface Builder 中创建工具栏
我希望能够从任何 View Controller 更新工具栏上的标签。所以我可能有五个不同的 View Controller ,它们都有这个工具栏,并且可以更新上面的标签。
所以我的问题是:
我什至如何开始在 MonoTouch 中子类化 UIView?如果我创建一个新的“iPhone View”,它给我的只是一个 Nib 。我没有地方可以联系网点或事件。
鉴于您能够告诉我如何设置 MonoTouch 以拥有用于子类化 UIView 的 C# 代码文件,以便我可以处理事件和访问属性,我如何将它连接到 nib?我看到很多人说在 Objective-C 中使用 initWithFrame 来调用 loadNibNamed,但这并不能正确地转换为 MonoTouch。我如何在 MonoTouch 中做到这一点?
鉴于#1 和#2 已满足,我如何将此自定义工具栏加载到任何 View Controller 中,并将其添加到屏幕上的特定坐标?在 MonoTouch 中执行 initWithFrame CGRect 似乎没有简单的路径
如果有人能解决这个问题,那你太棒了!!!!
提前致谢!
最佳答案
经过大量挖掘,我终于找到了答案。
最有用的教程在这里:
http://sgmunn.com/blog/2012/03/using-loadnib-to-load-a-view/
基本上,您需要创建自定义 subview ,在界面生成器中设置它们,然后在 MonoTouch 端做一些简单的映射。但是让我偏离这个例子的关键点是:
在子类化 UIView 时,您必须实现 IntPtr 的基本构造函数
当您这样做时,一切都会水到渠成。您连接了 Outlets 和 Actions,可以随意操纵它们。
编辑:比仅仅链接更具描述性......
How do I even begin to subclass UIView in MonoTouch? If I create a new "iPhone View", all it gives me is a nib. I have no place to hook up outlets or actions.
创建一个新的 iPhone View ,它会创建一个 Nib 。打开 Nib ,将“自定义类”设置为您的自定义类。 MonoTouch 应该会自动生成它。如果没有,则创建一个新的 C# 类和子类 UIView,但请确保为 IntPtr 创建构造函数。如果您使用 Storyboard,当您调用 Storyboard.InstantiateViewController() 时,它会为您填充 IntPtr 值。请注意,如果您确实使用 Storyboard.InstantiateViewController,则还需要将标识符设置为自定义类的名称。
创建该 iPhone View 后,您应该能够在 IB 中打开“代码 View ”并连接您的导出和操作。
Given that you are able to tell me how to set up MonoTouch to have C# code files for subclassing UIView so I can handle events and access properties, how do I hook it up to the nib? I see a lot of people saying to use initWithFrame to call loadNibNamed in Objective-C, but this doesn't correctly translate to MonoTouch. How would I do that in MonoTouch?
MonoTouch 中没有initWithFrame: 或CGRect,您使用RectangleF。如果以编程方式加载 nib,则可以使用接受 RectangleF 的构造函数并使用它来设置 x、y、宽度、高度。
Given that #1 and #2 are fulfilled, how do I load this custom toolbar into any viewcontroller, and add it at specific coordinates on the screen? Doing the initWithFrame CGRect stuff doesn't seem to have a simple path in MonoTouch
对于 Storyboard ,请使用 Storyboard.InstantiateViewController(确保您在 IB 中设置了标识符)。对于其他所有内容,请使用:
var nibObjects = NSBundle.MainBundle.LoadNib("YourViewName", theController, null);
var instantiatedView = (YourClassName)Runtime.GetNSObject(nibObjects.ValueAt(0));
如上链接所示。
尽情享受吧! - 艾莉森。
关于ios - monotuch - 可重复使用的 iOS 自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13768511/
所以我正在创建一个界面,按钮上有图像,但默认情况下,苹果会在导航栏按钮周围放置边框。有没有简单的方法可以删除它们? 最佳答案 在您的界面构建器中选择一个按钮,然后在右栏的属性上将其设为带有背景图片的自
有没有办法以编程方式枚举文件夹中的所有图像资源? 我想自动化动画图像序列创建过程并像这样加载图像: var images = EnumResouceImages("Images/"); foreach
我是单点触控的新手。我有一个 UICollectionViewCell .xib 文件,我在其中设置了图像和标签。在另一个类似 的 View Controller 中 public partial c
我在供应商提供给我们的库的头文件中定义了以下结构。 typedef struct { int iLen; int iType; int state; unsigne
在 C# .net 中,我们可以使用 System.Codedom.Provider 动态运行代码。同样有可能在 Monotouch (iPhone/iPad) 中动态执行代码。 提前致谢 最佳答案
我在main.cs中封装了日志代码来捕获异常,但是用monotouch构建的应用程序在iPad上经常崩溃,我找不到任何日志。 (部分代码包含多线程操作和wcf服务) 如何捕获所有崩溃异常? publi
我在main.cs中封装了日志代码来捕获异常,但是用monotouch构建的应用程序在iPad上经常崩溃,我找不到任何日志。 (部分代码包含多线程操作和wcf服务) 如何捕获所有崩溃异常? publi
如何在 monoTouch 中通过 C# 访问电话通话记录?我希望能够帮助我的合法客户为接听或调用的电话开具账单。因此,我需要能够查看通话的详细信息,并在调用电话后立即制定计费程序。 有没有示例代码?
在 android 中,我们可以有一个警告对话框,其中包含如下图所示的项目列表: 但对于 iPhone 情况,我们如何创建这样的警报 View ? 最佳答案 您需要使用代理名称和电话属性创建 MyCu
我在 monotouch 中将 string 转换为 Float/Decimal 但它给出了格式异常。我正在使用 Decimal.Parse()、Convert.ToDecimal()。请为此转换提供
我有以下内容使用系统; namespace mtSpec { public class SpecElement { public SpecElement (Delega
有没有办法将图像设置为设备壁纸?最初我想下载一张图片,将其保存在图片卷中的某个位置,然后以编程方式将其设置为墙纸。 谷歌没有给我任何关于如何完成的答案。 最佳答案 遗憾的是,此 API 未向开发人员公
我希望能够为用 monotuch 创建的 ios 应用程序中的文本输入提供我自己的可用自动更正/自动完成选项列表。 单词列表通过网络服务更新。完成搜索后,可以在 Ebay 应用程序中看到此类功能的示例
我在 monotouch 中实现 tesseract ocr。我想在 c# 中转换以下代码。 // Set up the tessdata path. This is included in the
我有两张图片。第一个 (avatar) 是 640x640,第二个 (like) 是 21x20。当我试图先画第二张时,我明白了,但质量很差。这是代码: var bounds = targeImage
好的,所以这个可能有点挑战,因为它是单点触控... 我有一个可重复使用的自定义工具栏,我计划在多个屏幕上重复使用。 我想在 Interface Builder 中创建工具栏 我希望能够从任何 View
下面的代码是我现在所在的位置,我已经完成了它,所以我可以单击一个按钮并将 sprite 表上的一个 sprite 更改为另一个。我正在研究的基础知识可能很糟糕,我真的不知道自己在做什么!如果是这样,请
我的应用程序永久收到内存警告,但我真的找不到导致它的原因。即使我将应用程序剥离到最低限度,我也会遇到重大泄漏。所以我想的是从 monotuch 示例编译默认的 HelloWorld_IPhone 应用
尝试找到一种不使用 WebView 对象来显示/渲染 SVG 文件的方法。我找到了名为 SVGKit 的 ObjC 库。我想知道 SVGKit 有多可靠?它有单点触控绑定(bind)吗?在 iPhon
有时我会从 objective-c 代码中得到异常。在我的示例中,这些异常并不重要,我希望应用程序继续运行。问题是我如何处理这些异常? 例如,当我使用 GeoCoder 类时,我的应用程序有时会崩溃。
我是一名优秀的程序员,十分优秀!