Как я даю фокус UITextView программно?

Если вы хотите рассчитать все в определенном часовом поясе, вы хотите установить часовой пояс по умолчанию, используя

A) moment.tz.setDefault("America/Los_Angeles");

Для моего варианта использования ( в проекте node.js) Я просто установил его сразу после запроса модулей момента, например, так:

let moment = require('moment');
require('moment-timezone');
moment.tz.setDefault("America/Los_Angeles");

Все последующие вызовы moment() будут создавать время в настройке «America / Los_Angeles», которая НЕ то же самое, что использовать:

B) moment.tz("2017-03-04 00:00", "America/Los_Angeles")

ИЛИ

C) moment("2017-03-04 00:00").tz("America/Los_Angeles")

оба из которых будут создавать объект момента в UTC время (если вы уже не изменили значение по умолчанию), а затем преобразовать его в часовой пояс Лос-Анджелеса.

Запуск B или C выше в консоли браузера приводит к:

_d: Fri Mar 03 2017 16:00:00 GMT-0800 (PST)
_i: "2017-3-4 00:00"

Уведомление _d показывает 3 марта 16:00; это связано с тем, что объект создается с 4 марта в 12:00 по времени UTC, а затем преобразуется в тихоокеанский часовой пояс, который отстает на 8 часов от предыдущего дня.

источник: http://momentjs.com/timezone/docs/#/using-timezones/default-timezone/

58
задан Leo Dabus 6 November 2017 в 04:56
поделиться

3 ответа

Since UITextView inherits from UIResponder (indirectly, it actually inherits from UIScrollView, which inherits from UIView which then inherits from UIResponder) you can call the -becomeFirstResponder method on your text field, which will cause it to become the first responder and begin editing:

[textView becomeFirstResponder];
158
ответ дан 24 November 2019 в 18:38
поделиться

Это кажется несколько хакерским.

Терминология Cocoa Touch для выражения «фокус» - это «первый респондент», а UITextView будут отображать свои клавиатуры, когда они являются первый респондент. Я могу придумать несколько методов, чтобы UITextView стал первым респондентом, но самый простой, вероятно, заключается в методах viewWillAppear или viewDidAppear вашего контроллера представления:

- (void)viewWillAppear:(BOOL)animated
{

    [myTextView becomeFirstResponder];

    [super viewWillAppear:animated];
}
11
ответ дан 24 November 2019 в 18:38
поделиться
[textView becomeFirstResponder];
7
ответ дан 24 November 2019 в 18:38
поделиться