Нет никаких проблем с бэкэнд-сайтом, так как я упоминаю, что каждая вещь печатается нормально, но не возвращает ничего, проблема в файле html, где мы упоминаем два раза {% csrf_token% "}
Фактически, вы можете немного уменьшить весь UIPickerView, применив аффинное преобразование к охватывающему представлению. Например:
CGSize pickerSize = [pickerView sizeThatFits:CGSizeZero];
pickerTransformView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, pickerSize.width, pickerSize.height)];
pickerTransformView.transform = CGAffineTransformMakeScale(0.75f, 0.75f);
[pickerTransformView addSubview:pickerView];
[self.view addSubview:pickerTransformView];
[pickerTransformView release];
масштабирует средство выбора до 75% от его исходного размера, помещая его в содержащий представление и применяя преобразование масштабирования к этому виду. Применение преобразования непосредственно к UIPickerView приводит к нежелательным артефактам рисования.
Однако вид изменения размера, который вы ищете, лучше всего будет обслуживаться путем создания настраиваемого элемента управления.
Это возможно и просто!
Просто откройте файл пера в виде обычного текста, затем найдите вид сборщика и настройте параметры:
<object class="IBUIPickerView" id="783900772">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{85, 68}, {150, 116}}</string>
Вот и все!
Насколько я знаю, он будет испорчен, если вы его уменьшите.
a) UITableView + UIPickerView
Я рекомендую вам использовать строку "a в UITableView + UIPickerView
для этого. Вы можете использовать строку в tableView, например dropDownList в Windows, при нажатии на эту строку отобразится pickerView (сначала скрытый).
b) Если у вас есть длинные списки данных в tableView и только один из элементов должен выбирать данные, вы должны прокрутить представление, используя следующий метод (обязательно рассчитайте исходное положение pickerView, поскольку оно будет перемещаться вверх / вниз вместе) :
-(void)setViewMove:(BOOL)moveUP offset:(CGFloat)offset
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
CGRect rect = self.view.frame;
if(moveUP)
{
rect.origin.y-=offset;
rect.size.height+=offset;
}
else //move down
{
rect.origin.y+=offset;
rect.size.height-=offset;
}
self.view.frame = rect;
[UIView commitAnimations];
}
c) Вы также можете добавить другое представление для средства выбора и вернуться к нему, когда что-то выберете.
Мой вывод:
Если у вас всего несколько строк в tableView, используйте.
If you have lots of lines in tableView but only one of them needs picker, use b.
If you have lots of lines in tableView and lots of them need picker, use c.