내 제안은 버튼 숨겨진 속성에 의존하는 대신 일부 부울을 사용하는 것입니다. 그런 다음 새로운보기로 전환 할 때 부울을 저장하십시오. 그런 다음 주 메뉴로 돌아와서 부울을 확인하고 무엇을 숨겨야하며 무엇이 없어야하는지 확인하십시오.
또한 변수 이름을 지정할 때 다른 사람이 내 코드를보고있는 것처럼 가장합니다. 그래서 단추 이름으로 온전한 대신에, 나는 그것을 onroute하게 만들 것이다. 그러나. 이렇게하면 코드를 다시 살펴볼 때 각 변수가 이름을보고 정확히 무엇인지 쉽게 알 수 있습니다.
코드에 관해서는 내가 어떻게 의견을 제시하고 있는지 모르겠으므로 완전한 대답을 줄 수는 없습니다. 그러나 이것이 도움이 될 것이라고 생각합니다. 당신의
@property (nonatomic) BOOL onrouteBool;
@property (nonatomic) BOOL acknowBool;
//whatever other bools you need instead of using button.hidden == YES/NO
당신의 .H에서
.m
다시 주 메뉴로 전환 버튼이 있어야합니다 있는지 확인하기 위해 bools을 검사 할 때
-(void)saveTheBools {
//save the bools however you want before you transition the view
//one way is nsuserdefaults
[[NSUserDefaults standardUserDefaults]setBool:onrouteBool forKey:@"onrouteBool"];
[[NSUserDefaults standardUserDefaults]setBool:acknowBool forKey:@"acknowBool"];
[[NSUserDefaults standardUserDefaults]synchronize];
//how you save them
}
다음 bools을 저장하려면 다음 뷰 호출에이 방법을 전환하기 전에 지금 그래서
@synthesize onrouteBool, acknowBool;
-(void)viewDidLoad {
onrouteBut.hidden = YES;
onrouteBool = YES;
NSNumber *num = [NSNumber numberWithInt:10.00];
acknowBut.hidden = YES;
acknowBool = YES;
if((self.consignment.cur_status_no < num) || [self.consignment.newjob isEqual:@(YES)]) {
acknowBut.hidden = NO;
acknowBool = NO;
}
}
-(IBAction)acknowledgeBtn:(id)sender {
if (onrouteBool == YES) {
acknowBut.hidden = NO;
onrouteBut.hidden = NO;
acknowBool = NO;
onrouteBool = NO;
//this part doesn't make sense you set the button to visible and then hidden right after
acknowBut.hidden = YES;
acknowBool = YES;
}
}
-(IBAction)onrouteBtn:(id)sender {
if (acknowBool == YES) {
onrouteBut.hidden = YES;
onrouteBool = YES;
}
}
숨김
-(void)checkTheBools {
onrouteBool = [[NSUserDefaults standardUserDefaults] boolForKey:@"onrouteBool"];
acknowBool = [[NSUserDefaults standardUserDefaults] boolForKey:@"acknowBool"];
if (onrouteBool == YES) {
onrouteBut.hidden = YES;
}
else {
onrouteBut.hidden = NO;
}
if (acknowBool == YES) {
acknowBut.hidden = YES;
}
else {
acknowBut.hidden = NO;
}
//whatever else you need to hidden or make visible
}
이것은 무엇을 해야할지에 대한 아이디어입니다. 작동시키기 위해 필요한 것을 사용하십시오. 이것은 내가 어떻게 할 것인가입니다, 이것이 최선의 방법인지는 모르지만 그것은 출발점입니다. 전환하는 방식, 초기화하는 항목, 유지하는 방식 등을 알지 못해서 모든 코드를 보지 않고도 구체적인 답변을 제공 할 수는 없습니다.
희망이 있으면 도움이 될 것입니다. 내 잘못이야. 계속 노력하면 결국 당신을 위해 일하는 것을 찾을 수있을 것입니다.
편집 :
당신은 내가 볼 수있는 코드를 가지고 있지 않기 때문에 정말 도움이되지 수가있는 상태 문제에 관해서는
. 아마도 변수를 저장하는 것과 관련이 있으므로 클래스를 통해 변수에 액세스 할 수 있습니다. 그래서 부울을 저장하는 방법을 보여 주었고 상태를 전송했는지 확인하기 위해 비슷한 것을해야 할 것입니다.
nsuserdefaults를 사용하는 것이 가장 쉬운 방법이기 때문에 제안했지만, 모든 변수를 저장하는 데 의존하지 않는 것이 가장 좋습니다. 또한 싱글 톤, 코어 데이터 또는 클래스를 통해 필요한 변수를 저장할 수있는 모든 것을 조사 할 수 있습니다. 당신이하려는 일에 가장 잘 맞는 방법을 찾아야합니다.
당신이 배울 수있는 유일한 방법은 때로는 고민하고, 약간의 연구를하고, 해결책을 찾을 때까지 다른 것을 시도하는 것입니다. 또한 애플이 개발자로서 제공하는 리소스를 활용하십시오. 나는 당신이 이것을 이해할 수있을 것이라고 생각합니다. 행운을 빌어 요
메뉴 화면으로 돌아 왔을 때 버튼은 이탈했을 때와 동일한 숨겨진 상태를 유지해야합니다. 그렇지 않은 경우 메뉴 컨트롤러의 새 인스턴스를 다시 만들지 않아야합니다 다 끝났어. 너 어떻게 돌아 가니? – rdelmar