2017-12-26 22 views
-2

IBOutlet接続を行わずに、viewControllerのUIElement(例:LabelsやTextFieldなど)にアクセスしたいと考えています。IBOutletを作成せずにUIelementsにアクセスする

私はviewControllerにUITextFieldを持っていて、viewControllerName.textFieldName.text = "something I will set here" のように、またはAndroidの同じコンセプトとしてfindViewById("id of element") 私は "タグ"を使用しましたが、私の要件を満たしていません。

答えて

0

プログラムでUITextFieldを作成し、プログラムでUITextFieldName.text = "Some"にアクセスします。
はIBOutlet接続を行うことなく、ラベルプログラムでCheck This link

0

はい、あなたがアクセスできるのUIElement(例えばラベルおよびTextFeildsなど)のViewControllerのを作成します。最初にUIElementにタグを渡します。 これを試してください。これは役立つだろう願っています:

あなたが同じのViewController

let label = self.view.viewWithTag(4) as? UILabel 
label?.text = "Hello there" 

、あなたがfirstViewControler

 import UIKit 
     internal weak var FirstViewController: ViewController? 

//in viewDidLoad 
     override func viewDidLoad() { 
      super.viewDidLoad() 
      FirstViewController = self 
     } 
に他のViewController
からアクセスしたい場合には、それをアクセスする場合

他のすべてのviewControlでアクセス可能にするsecondViewControllerで、その後のLER あなたの留守のため

let newlabel = homeViewController?.view.viewWithTag(4) as? UILabel 
    newlabel?.text = "new change" 
+1

感謝。 しかし、私はタグを使用したくありません –

+0

あなたは私がタグを使用しているので、これは助けになると思いますので –

+0

はい私は行っています。私はタグを使用したくないという意味です –

関連する問題