2011-02-01 28 views
1

我有一个UIScrollView,而我追加多个自定义的UIView的包含UITextFields ...从UITextFields访问ParentViewController自定义视图中

在这些文本字段我处理EditingChanged事件让我做了一些计算,它们添加到一个UILabel ...

现在

...超出我的UIScrollView我有一个TextBox谁的价值,我需要从我的自定义视图里面的TextField访问...

我可以滚动起来的层次和以某种方式通过它的标签找到控制权?我试过使用ParentViewController,但那总是空。

任何帮助表示赞赏

回答

0

是在同一个UIViewController中的的UIScrollView外的文本框?您应该使用控制器来管理通信。在包含两个文本框的最低级别处理EditingChanged。所以,如果它们在同一个UIViewController中,那么它可以处理EditingChanged并且还可以引用文本框。

0

或者您可以使用UIApplicationDelegate。

  1. 声明一个引用UISCrollView的实例,并将UIScrollView设置为该实例。

    @interface YourAppDelegate YourDIScrollView * yourScrollView; } @property(nonatomic,retain)YourUIScrollView * yourScrollView; @end

  2. 不管你想要访问滚动视图,可以如以下这样做,

    YouUIScrollView * yourScrollView =((YourAppDelegate *)[[UIApplication的sharedapplication]委托])yourScrollView。

+0

嗯,现在我。需要将它翻译成MonoTouch(C#)! – Marko 2011-02-02 02:29:10

0

你可以走另一条路走下来的层次结构,以从下UITextField获得的价值和UIScrollView之外进行计算。您可以访问下级UITextField一种方法的情况如下:

foreach (scrollView.ViewWithTag(tagNum).SubViews.OfType<UITextField>()) 
{ 
    // get the value from the textfield then perform the required calculation 
} 

(这当然是假定你已经给了UIView“在某种程度上是你要添加一个标签

相关问题