別のビューコントローラで1つのビューコントローラのボタンのユーザー操作を無効にしようとすると問題が発生します。別のビューコントローラで1つのビューコントローラのボタンを無効にする
私はここで同様の質問を検索しましたが、古くなったり、役に立たないようです。 How to access an IBOutlet from another class。
btnFirst.isUserInteractionEnabled = false
か試してみてください。
class ViewControllerA() {
@IBOutlet weak var btnFirst: UIButton!
@IBOutlet weak var btnSecond: UIButton!
@IBOutlet weak var btnThird: UIButton!
override func viewDidLoad() {
var vcB = ViewControllerB()
vcB.closure = {
// Meet some condition, want to disable buttons of ViewControllerA here
}
}
}
class ViewControllerB() {
var closure:() -> Void = {}
// Do something with closure here
}
私の問題は、私は閉鎖にブレークポイントを設定するなどのボタンを無効にするには、クロージャ内で直接IBOuletを使用しようということで、次のように
私のシナリオがありますViewControllerBの終了時にViewControllerAのプロパティを設定し、このプロパティが変更されるたびにViewControllerAのボタンを有効または無効にするたびにプロパティobserverを使用します。
私の問題は、ボタンが有効な場合でもボタンをクリックできることです。申し訳ありませんが、私はコードを投稿できません、助けてください!
おかげ
あなたがしていることのコードを投稿する必要があります!さもなければ私達はあなたが間違いをしているのを見ることができません! – Siyavash