Setting rightAccessoryButton won't remove cancelButton
- [x] I have read this issue template and provided all possible information.
- [x] I'm using CocoaPods and have run
pod updatebefore filing this issue.
Hardware / Software
Which version of the library were you using?
Answer: 0.0.1
Which version of iOS are you running?
Answer: iOS 11
What model of iOS device were you testing on? Answer: Simulator
If using CocoaPods, which version of CocoaPods are you on? Answer: not related
Goals
What is the outcome result you want to achieve with this library? Answer: We want to add a simple passcode lock when our app is launched and or enters background, we need to remove the cancel button because the passcode is not optional.
Expected Results
What did you expect to happen?
Setting rightAccessoryButton will remove the cancel button.
Actual Results
Setting rightAccessoryButton did not remove the cancel button.
Investigation
Currently the initialization flow is:
-initWithStyle:passcodeType
|_ -setUp
|_ -view
|_ -loadView
|_ -viewDidLoad
|_ -setUpAccessoryButtons
The problem begins with line 82: self.view.backgroundColor = [UIColor clearColor];. self.view triggers -loadView and in turn -viewDidLoad where the heavy view set up takes place. Then when -setUpAccessoryButton is called at line 175, the if statement is always true because it's called before the user has a chance to set rightAccessoryButton. Setting it after initialization has no effect because the logic is under -viewDidLoad.
In general calling self.view in -init should be avoided.
Hi @bretdabaker! Thanks for the detailed issue!
Ah you're right. That's definitely a bug being caused by some of my terrible coding practices. Sorry about that!
I just made a new push to master that moves the code triggering loadView to viewDidLoad. HOPEFULLY that solved the problem for you. Let me know! Thanks!