Ниже if
может true
, когда ваш John Smith
точно совпадает с Smith,John
.
if (MyOptions.Any(x => MyKeywords.All(y => x.Split(',').Contains(y))))
{
check = true;
}
class ChubbyButton: UIButton {
override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
return bounds.insetBy(dx: -20, dy: -20).contains(point)
}
}
Я рекомендую разместить UIB-кнопку с типом Custom по центру над вашей информационной кнопкой. Измените размер пользовательской кнопки до размера, который вы хотите, чтобы область попадания была. Оттуда у вас есть две опции:
Отметьте опцию «Показать касание при подсветке» пользовательской кнопки. Белое свечение появится над информационной кнопкой, но в большинстве случаев пользовательский палец покроет это, и все, что они увидят, это свечение вокруг.
Установите IBOutlet для информационной кнопки и два IBActions для пользовательской кнопки. один для «Touch Down» и один для «Touch Up Inside». Затем в XCode сделайте событие приземления, установите выделенное свойство информационной кнопки в YES, и событие touchupinside установите выделенное свойство в NO.
Ну, вы можете поместить свою UIB-кнопку в прозрачный и немного больший UIView, а затем перехватить события касания на экземпляре UIView, как в UIButton. Таким образом, у вас все еще будет кнопка, но с большей сенсорной областью. Вам придется вручную работать с выбранными и выделенными состояниями с помощью кнопки, если пользователь касается вида вместо кнопки.
Другая возможность заключается в использовании UIImage вместо UIButton.
Мне удалось программно увеличить область нажатия кнопки информации. Графика «i» не меняет масштаб и остается по центру в новом фрейме кнопки.
Размер информационной кнопки, кажется, установлен на 18x19 [*] в Интерфейсном Разработчике. Подключив его к IBOutlet, я смог без проблем изменить его размер кадра в коде.
static void _resizeButton( UIButton *button )
{
const CGRect oldFrame = infoButton.frame;
const CGFloat desiredWidth = 44.f;
const CGFloat margin =
( desiredWidth - CGRectGetWidth( oldFrame ) ) / 2.f;
infoButton.frame = CGRectInset( oldFrame, -margin, -margin );
}
[*]: Более поздние версии iOS, похоже, увеличили область нажатия кнопки информации.
Это работает для меня:
UIButton *button = [UIButton buttonWithType: UIButtonTypeCustom];
// set the image (here with a size of 32 x 32)
[button setImage: [UIImage imageNamed: @"myimage.png"] forState: UIControlStateNormal];
// just set the frame of the button (here 64 x 64)
[button setFrame: CGRectMake(xPositionOfMyButton, yPositionOfMyButton, 64, 64)];