NIDropDown iOS Obj-c - не получается выбранное значение - PullRequest
0 голосов
/ 28 февраля 2019

Я использую NIDropDown: https://github.com/BijeshNair/NIDropDown Когда я нажимаю раскрывающийся список и выбираю значение, оно дает мне значение предыдущего выбранного параметра.Я хотел знать, что я делаю не так или есть что-то, что мне не хватает .???100100 *

Вот мой код (.h и .m файл).

НижеФайл ViewController.m

//
//  ViewController.m
//  NiDropDown
//
//  Created by ****** on 28/02/19.
//  Copyright © 2019 *****. All rights reserved.
//

#import "ViewController.h"
#import "NIDropDown.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


- (IBAction)btn_test:(id)sender
{
    NSArray *arr = [[NSArray alloc] init];
    arr = [NSArray arrayWithObjects:@"Hello 0", @"Hello 1", @"Hello 2", @"Hello 3", @"Hello 4", @"Hello 5", @"Hello 6", @"Hello 7", @"Hello 8", @"Hello 9",nil];
    NSArray *arrImage = [[NSArray alloc] init];
//    arrImage = [NSArray arrayWithObjects:[UIImage imageNamed:@"apple.png"], [UIImage imageNamed:@"apple2.png"], [UIImage imageNamed:@"apple.png"], [UIImage imageNamed:@"apple2.png"], [UIImage imageNamed:@"apple.png"], [UIImage imageNamed:@"apple2.png"], [UIImage imageNamed:@"apple.png"], [UIImage imageNamed:@"apple2.png"], [UIImage imageNamed:@"apple.png"], [UIImage imageNamed:@"apple2.png"], nil];
    if(dropDown1 == nil) {
        CGFloat f = 200;
        dropDown1 = [[NIDropDown alloc]showDropDown:sender theHeight:&f theArr:arr theImgArr:arrImage theDirection:@"down" withViewController:self];
        [dropDown1 setDropDownSelectionColor:[UIColor grayColor]];
        dropDown1.delegate = self;
    }
    else {
        [dropDown1 hideDropDown:sender];
        //        [self rel];
    }
}

- (void) niDropDownDelegateMethod:(UIView *)sender withTitle:(NSString *)title {
    //    [self rel];
    UIButton *btn = (UIButton *)sender;
    [btn setTitle:title forState:UIControlStateNormal];
    NSLog(@"%@", self.btn_test.titleLabel.text);


    //    [btnSelect setTitle:title forState:UIControlStateNormal];
}

- (void)niDropDownHidden:(NIDropDown *)sender{
    if (sender == dropDown1) {
        dropDown1 = nil;
    }else if(sender == dropDown2){
        dropDown2 = nil;
    }else{
        dropDown3 = nil;
    }

}
@end

Ниже приведен файл ViewController.h.

//
//  ViewController.h
//  NiDropDown
//
//  Created by ******* on 28/02/19.
//  Copyright © 2019 ******. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "NIDropDown.h"

@interface ViewController : UIViewController <NIDropDownDelegate>
{
    NIDropDown *dropDown1, *dropDown2, *dropDown3;
}
@property (weak, nonatomic) IBOutlet UIButton *btn_test;
- (IBAction)btn_test:(id)sender;

@end

Вот скриншот проблемы, с которой я столкнулся: https://imgur.com/a/B6KyBrE

Это может быть проблема делегата, но я не могу пройти, я буду признателен, если моя ошибка может быть выделена.

1 Ответ

0 голосов
/ 04 марта 2019

Хорошо, поэтому я не знаю, сколько людей использует https://github.com/BijeshNair/NIDropDown для DropDown в iOS Obj-c.Это одна из лучших библиотек.

Итак, возвращаясь к ответу, все было просто. Я изменил тип кнопки на «Пользовательский», ранее это был «Система».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...