Ну, папка bin существует, но она перемещается в папку артефактов рядом с файлом решения. Поскольку ASP.NET Core RC 1 компилирует все в памяти, вы найдете пустую папку bin. Но если вы установите для параметра «Производить вывод на сборке» значение true (щелкните правой кнопкой мыши файл проекта -> вкладка «Свойства и сборка»), то вы найдете сгенерированные файлы в папке bin.
Я так не думаю есть любое прямое свойство, доступное для того, чтобы получить путь к этому, но вы можете использовать то же решение, на которое указывает @Nikolay Kostov, чтобы получить путь к приложению. И затем, используя классы System.IO, перейдите в папку bin.
Обновлен код для ядра ASP.NET, как указано здесь.
http://www.talkingdotnet.com / get-application-wwwroot-path-aspnet-core-rc2 /
public Startup(IHostingEnvironment env, IApplicationEnvironment appenv)
{
string sAppPath = env.ContentRootPath;
string sRootPath = Path.GetFullPath(Path.Combine(sAppPath, @"..\..\"));
string sBinFolderPath = @"artifacts\bin\" + appenv.ApplicationName;
string sBinPath = Path.Combine(sRootPath, sBinFolderPath);
}
Я вижу, у вас есть тег iPad. Вы случайно представляете модальное представление с использованием UIModalPresentationFormSheet? Если это так, то это выглядит как ограничение модальной презентации FormSheet (либо Apple по какой-то причине делает это намеренно, либо это ошибка). См. Эти другие вопросы для получения дополнительной информации:
Самый простой способ:
Зайдите в свой конструктор пользовательских интерфейсов,
выберите UITextField
и «Control-Drag» для «Деталь View Controller-Detail» и выпуск.
Откроется окно. Затем в разделе «Розетки» выберите «Делегат».
Вот и все. Это сработало для меня.
Swift 3.0
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
if textField == addressTextField {
textField.resignFirstResponder()
return false
}
return true
}
если вы находитесь в UIModalPresentationFormSheet, просто позвоните
- (BOOL)disablesAutomaticKeyboardDismissal
{
return NO;
}
На основании вашего комментария, похоже, что фокус сместился, я думаю, что может происходить то, что клавиатура остается открытой для следующего поля ввода текста. Если ваша клавиша возврата является клавишей «Next», то возвращение YES для textFieldShouldReturn: сделает следующий textField первым респондентом и оставит клавиатуру видимой.
Swift 3.0:
override var disablesAutomaticKeyboardDismissal: Bool {
get{
return false
}
set {
self.disablesAutomaticKeyboardDismissal = false
}
}
Помнили ли вы реализовать протокол UITextFieldDelegate
?
Я прочитал очень много статей по этой проблеме, где экранная клавиатура отказывается прятаться, когда вы звоните resignFirstResponder
, но ни одно из предложений не сработало для меня.
Я использую XCode 5 (iOS 7) и у меня есть экран iPhone, содержащий пару элементов управления, для которых требуется экранная клавиатура, но если пользователь нажимает UIButton
, то я хочу, чтобы клавиатура исчезла.
Я, вероятно, потратил впустую один полный день, экспериментируя с resignFirstResponder
и добавляя disablesAutomaticKeyboardDismissal
функции для возврата NO, но ничего не помогло. Как только появилась экранная клавиатура, я больше не мог заставить ее исчезнуть.
Теперь, когда пользователь нажимает на мой UIButton
, я просто отключаю элементы управления UITextField
и UITextView
.
- (IBAction)btnDate_Tapped:(id)sender {
// The user has clicked on the "Date" button.
self.tbClientName.enabled = NO;
self.tbComments.editable = NO;
И вдруг приложение обнаруживает, что в нем нет редактируемых текстовых полей, нуждающихся в экранной клавиатуре, и аккуратно выдвигает клавиатуру из поля зрения.
(С облегчением вздохнул.)
Мой UIButton
фактически заставляет всплывающее диалоговое окно появиться. Когда пользователь отклоняет всплывающее окно, я снова включаю эти два элемента управления, поэтому, если пользователь нажимает на один из них, клавиатура появляется снова.
-(void)popoverControllerDidDismissPopover:(UIPopoverController *) popoverController {
// The user has closed our popup dialog.
// We need to make our UITextField and UITextView editable again.
self.tbClientName.enabled = YES;
self.tbComments.editable = YES;
... etc...
}
Просто, не правда ли?
И что удивительно, этот обходной путь работает даже на UIViewControllers
, который появляется в Модальном стиле.
Надеюсь, это поможет другим жертвам XCode.
Чтобы справиться с ошибкой, упомянутой Брэндоном, вы можете попробовать закрыть и снова открыть свой контроллер модального вида, если у вас все еще есть ссылка на него.
[textField resignFirstResponder];
[self dismissModalViewControllerAnimated:NO];
[self presentModalViewController:yourModalViewControllerReference animated:NO];
(где «self» - это контроллер, который вы использовали для первоначального открытия контроллера модального вида)
У меня была такая же проблема. Я понял, что после подключения делегата к Владельцу файла в Интерфейсном Разработчике я забыл сохранить в Интерфейсном Разработчике. После сохранения я перекомпилировал и клавиатура исчезла правильно при нажатии возврата.
Если вы используете Интерфейсный Разработчик, посмотрите, имеет ли ваш UITextField делегированную связь с вашим классом.
-Выберите свой UITextField и в своем подключении посмотрите, выходит ли одно соединение в Outlets-> делегат. Если нет, свяжись с твоим классом владельца файла.
Это должно быть связано с классом владельца вашего файла. Этот делегат сообщает, где искать метод. Если вы переопределяете метод, вам нужно указать, где объект будет искать его.
Это решение сработало для меня после того, как ничего из вышеперечисленного не сработало. после вызова resignFirstResponder я добавил модальное представление & amp; удалил его.
[myTextField resignFirstResponder];
UIViewController *dummyController = [[UIViewController alloc] init];
UIView *dummy = [[UIView alloc] initWithFrame:CGRectMake(-1, -1,1,1)];
[dummyController setView:dummy];
[self presentModalViewController:dummyController animated:NO];
[dummyController dismissModalViewControllerAnimated:NO];
Существует этот полезный метод, который позволяет вам отклонять клавиатуру при отображении модального диалога:
- (BOOL)disablesAutomaticKeyboardDismissal { return NO; }
Это переопределит поведение по умолчанию для модального диалога, установленного Apple, и позволит вам отклонить клавиатуру. Он находится в классе UIViewController.
Надеюсь, это кому-нибудь поможет!
xcode 4.5.1
Просто щелкните элемент управления, затем перетащите текстовое поле и отпустите его в файле .h
( клавиша управления + перетаскивание )
, затем во всплывающем меню выберите
connection=acton;
name= any name;
type=id;
event=did end on exit;
arguments=sender;
, затем нажмите кнопку подключения