Bir UITextField için özel bir klavye oluşturmaya çalışıyorum, bu girişin arka planıGörünüm şeffaf olmalı, "rengi temizle" için arka plan rengini görünümün xib dosyasına ayarladım. IOS 6 ve daha önceki sürümlerde harika çalışıyor ... ama iOS 7'de çalışmıyor Herhangi bir fikri nasıl çalıştırabilirim? Tam olarak şeffaf olmasını istiyorumUITextView Kullanıcı girişi iOS 7 üzerinde görüntüleme
cevap
Ekranın sol yarısını yatay modda dolduran sayısal bir tuş takımına sahip olduğumdan ve aynı zamanda bulanıklık etkisinin tümünü kapsadığı iOS7'de kullanılamayan bir sayısal tuş takımım var. ekranın genişliği). Oldukça ben (sadece benim gerçek inputView arkasında bulanık bir arka plan) istediklerini elde etmek nasıl çözemedim ama tamamen bulanıklığı devre dışı bırakmak için nasıl anladım var:
- UIView özel bir alt sınıfını tanımlamak ve belirtmek senin xib dosyasında bu sınıf geçersiz kılma willMoveToSuperview olarak
yılında şu şekildedir:
- (void)willMoveToSuperview:(UIView *)newSuperview { if (UIDevice.currentDevice.systemVersion.floatValue >= 7 && newSuperview != nil) { CALayer *layer = newSuperview.layer; NSArray *subls = layer.sublayers; CALayer *blurLayer = [subls objectAtIndex:0]; [blurLayer setOpacity:0]; } }
Bu benim (ancak sistem klavyesi) böylece NE olabilir gelmiş inputView her özel arka planını doğrudan etki ettiği görülmektedir
Bunu yapmak istemiyorsanız, normal opaklık değeri ne olursa olsun girişView'iniz süper görünümden kaldırıldığında ne olur?
Bu, özel klavyenizi görüntülerken arka plan opaklığını sıfıra ayarlayacak ve normal klavye gösterildiğinde 1'e geri sıfırlayacaktır.
+ (void)updateKeyboardBackground {
UIView *peripheralHostView = [[[[[UIApplication sharedApplication] windows] lastObject] subviews] lastObject];
UIView *backdropView;
CustomKeyboard *customKeyboard;
if ([peripheralHostView isKindOfClass:NSClassFromString(@"UIPeripheralHostView")]) {
for (UIView *view in [peripheralHostView subviews]) {
if ([view isKindOfClass:[CustomKeyboard class]]) {
customKeyboard = (CustomKeyboard *)view;
} else if ([view isKindOfClass:NSClassFromString(@"UIKBInputBackdropView")]) {
backdropView = view;
}
}
}
if (customKeyboard && backdropView) {
[[backdropView layer] setOpacity:0];
} else if (backdropView) {
[[backdropView layer] setOpacity:1];
}
}
+ (void)keyboardWillShow {
[self performSelector:@selector(updateKeyboardBackground) withObject:nil afterDelay:0];
}
+ (void)load {
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self selector:@selector(keyboardWillShow) name:UIKeyboardWillShowNotification object:nil];
}
iOS 7, kapağın altında belgelenmeyen bazı şeyler yapıyor. Bununla birlikte, görünüm hiyerarşisini inceleyebilir ve özel giriş görünümünüzde -willMoveToSuperview öğesini geçersiz kılarak ilgili görünümleri ayarlayabilirsiniz. Örneğin, bu kod arka planı şeffaf hale getirecektir:
- (void)willMoveToSuperview:(UIView *)newSuperview {
NSLog(@"will move to superview of class: %@ with sibling views: %@", [newSuperview class], newSuperview.subviews);
if ([newSuperview isKindOfClass:NSClassFromString(@"UIPeripheralHostView")]) {
UIView* aSiblingView;
for (aSiblingView in newSuperview.subviews) {
if ([aSiblingView isKindOfClass:NSClassFromString(@"UIKBInputBackdropView")]) {
aSiblingView.alpha = 0.0;
}
}
}
}
- 1. iOS 9 kaydırma UITextView, iOS 7 ve/veya 8'de
- 2. iOS UITextView Bağlantı tespiti
- 3. UItextview Saydam Renkli IOS
- 4. iOS 7 uitabbar gösterileri, ios8 üzerinde görünmez
- 5. iOS tıklanabilir metin UITextView içinde
- 6. iOS 7-
- 7. IOS 7
- 8. Threading sorunu, ios 7
- 9. Kullanıcı Girişi + Ruby + Regex?
- 10. Kullanıcı girişi string
- 11. Kullanıcı girişi alma Ruby'de
- 12. Drupal 7 görüntüleme makaleden çıkar
- 13. Kakao Kullanıcı Resizable Görüntüleme
- 14. Görüntüleme denetleyicileri arasında iOS paylaşım verileri
- 15. UITextView kullanarak hızlı kaydırma (IOS uygulaması)
- 16. Kullanıcı girişi yaptıktan sonra kullanıcı isteğine erişim yeniden yönlendiriliyor mu?
- 17. Web'de iOS emoji unicode karakterlerini görüntüleme
- 18. ifade ve kullanıcı girişi tavsiyesi
- 19. C# check RDP kullanıcı girişi
- 20. Yeni Firebase Facebook kullanıcı girişi
- 21. reaktif değişken kullanıcı girişi (Meteor)
- 22. Kullanıcı girişi RSpec ve authlogic
- 23. Sözlüğe bir kullanıcı girişi ekleme
- 24. Kullanıcı Girişi Alma. Python GUI
- 25. Java Kullanıcı girişi ile ilgili
- 26. iOS 7 üzerinde Evernote gibi bir UICollectionView oluşturma
- 27. editActionsForRowAtIndexPod Xcode 7 ile iOS 8 üzerinde çalışmaz
- 28. setSelectedImageTintColor iOS 7'de çalışmıyor 7
- 29. IOS 7: Gruplandırılmış stil UITableView
- 30. iOS 7 UITextView: Uygulamayı yeniden açtıktan sonra 2x alma nstextattachment boyutu