UIStepper не появляется - PullRequest
       4

UIStepper не появляется

1 голос
/ 02 декабря 2011

Я пытаюсь добавить UIStepper программно, вот мой код: степпер не появится.:

     stepper =  [[UIStepper alloc]init];
     [stepper setFrame:CGRectMake(216, 91, 155, 25)];
     [stepper setMinimumValue:0];
     [cell addSubview:stepper];

Спасибо!

CELLFORROWATINDEXPATH:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
     {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

         UIStepper * myStepper =  [[UIStepper alloc]initWithFrame:CGRectMake(206,20,94,27)];
         [myStepper setMinimumValue:0];
         [cell addSubview:myStepper];

         cellLabel = [[UILabel alloc]init];
         [cellLabel setFrame:CGRectMake(65, 22, 27, 27)];
         [cellLabel setText:@"1"];
         [cell.contentView addSubview:cellLabel];
    } 
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
    cell.imageView.image = [imageArray objectAtIndex:indexPath.row];    
   // cell.textLabel.text = [cells objectAtIndex:indexPath.row];
    if ([cell.imageView.image  isEqual:[UIImage imageNamed:@"paddle5.png"]]) {
        [cellLabel setFrame:CGRectMake (175, 22, 30, 30)];
    }
    if ([cell.imageView.image  isEqual:[UIImage imageNamed:@"paddle4.png"]]) {
        [cellLabel setFrame:CGRectMake (150, 22, 30, 30)];
    }
    if ([cell.imageView.image  isEqual:[UIImage imageNamed:@"paddle3.png"]]) {
        [cellLabel setFrame:CGRectMake (120, 22, 30, 30)];
    }
    if ([cell.imageView.image  isEqual:[UIImage imageNamed:@"paddle2.png"]]) {
        [cellLabel setFrame:CGRectMake (90, 22, 30, 30)];
    }
return cell;
}

операторы if прямо над return cell; предназначены только для размещения нескольких ярлыков на моемклетка.

Ответы [ 3 ]

2 голосов
/ 02 декабря 2011

Используйте initWithFrame:, это назначенный инициализатор при создании экземпляра класса, который является подклассом UIView программно.

Итак: (настройка кадра для стандартной ячейки с высотой 44 точки)

stepper =  [[UIStepper alloc]initWithFrame:CGRectMake(206, 8, 94, 27)];

Я не уверен, почему он все еще не появляется для вас.Чтобы проверить код, я создал новый проект Xcode типа «Master / Detail», предназначенный для iPhone, и единственное, что я сделал, это изменил метод tableView:cellForRowAtIndexPath: следующим образом.

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
        UIStepper *stepper = [[UIStepper alloc]initWithFrame:CGRectMake(206, 8, 94, 27)];
        [stepper setMinimumValue:0];
        [cell addSubview:stepper];
    }
    // Configure the cell.
    cell.textLabel.text = NSLocalizedString(@"Detail", @"Detail");
    return cell;
}

Для меня этоВ коде показана таблица проекта по умолчанию, а в строке «Сведения» имеется шаговый элемент.

2 голосов
/ 02 декабря 2011
[cell.contentView addSubview:stepper];

РЕДАКТИРОВАТЬ: В вашем коде у вас есть:

 [stepper setFrame:CGRectMake(216, 91, 155, 25)];

Тем не менее вы утверждаете, что ваша ячейка имеет высоту 73px и ширину 320px.

В настоящее времяВы устанавливаете шагер шириной 155px, высотой 25px, в начале координат x 216 и в начале координат yy 91.

Степпер, отображающийся в точке y из 91, находится вне поля зрения камеры.

Попробуйте это:

[stepper setFrame:CGRectMake(216, 22, 100, 30)];
1 голос
/ 02 декабря 2011

Элемент управления UIStepper введен в ios 5.0. Вам нужно убедиться, что вы не используете его ниже ios 5.0.

Для получения дополнительной информации: -

UIStepperControlExample

UIStepperControlAppleDocumentation

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