2017-04-06 12 views
5

Mam UITableView z każdym UITableViewCell posiadającym czarną kartę, jak w tle UIView w nim. Czarne karty nie są całkowicie nieprzezroczyste, ale zamiast tego mają alfa 0,6. Wszystko wygląda dobrze, gdy przewijam w górę iw dół, bez problemów.Ekran dotykowy iOS Assistive Touch z czarnymi łatkami

To, co go miażdży, to kiedy poruszam Assistive Touch wokół na UITableView. Assistive Touch po prostu pozostawia czarne łatki w dowolnym miejscu, w którym został przeniesiony, a czarne łatki pozostaną do czasu ponownego przewinięcia mojego UITableView.

Czy ktoś jeszcze napotkał taki problem wcześniej? Czy jest jakaś praca wokół/hack, aby tego uniknąć?

Dodatek: Kiedy próbuję zrobić zrzut ekranu, usuwa się.

Tak się dzieje, gdy poruszam Assistive Touch.

This is what happens when I move the Assistive Touch around.

Jak to ma wyglądać.

This is how it is supposed to look.

Fragment kodu, jak ja ustawienie koloru tła i alfa dla komórek w tabeli.

override func awakeFromNib() { 
    super.awakeFromNib() 
    // Initialization code 
    self.selectionStyle = .none 
    self.backgroundColor = UIColor.clear 

    self.background.backgroundColor = UIColor.black 
    self.background.alpha = 0.6 

    background.layer.backgroundColor = CGColor(colorSpace: CGColorSpaceCreateDeviceRGB(), components: [0.0, 0.0, 0.0, 0.6]) 
    background.layer.masksToBounds = true 
    background.layer.shadowOffset = CGSize(width: -1, height: 1) 
    background.layer.shadowOpacity = 0.2 
    self.contentView.sendSubview(toBack: background) 
} 
+0

Spróbuj wybrać swój widok/tableView w konstruktorze interfejsów. Następnie w inspektorze atrybutów upewnij się, że NIE wybrano opcji "Rysunek" nieprzezroczysty i wybrano opcję "Czyść kontekst graficzny IS." – Pochi

+0

Po prostu wypróbowałem to @Chiquis.Nie rozwiązało to problemu –

+0

Czy widok "podstawowego" kontrolera viewcontroller jest przezroczysty ? Spróbuj ustawić ten widok na inny kolor.Jeśli używasz UITableViewController spróbuj ustawić kolor bazowy tableview na coś.Odpowiednio jak to działa, dotykowy sposób radzi sobie z renderowaniem, ale widziałem tylko coś znajomego kiedy mój faktyczny okno aplikacji było przezroczyste i mogłem zobaczyć pulpit nawigacyjny między przejściami – Pochi

Odpowiedz

1

Usuń tę linię ze swojego kodu i sprawdź, czy działa.

background.layer.backgroundColor = CGColor(colorSpace: CGColorSpaceCreateDeviceRGB(), components: [0.0, 0.0, 0.0, 0.6]) 

Może to, co się dzieje jest alfa swojej warstwie tła i alfa wspomagających dotyku są nakładających się i os stara się przeliczyć kolor swojego widzenia i to brudząc kolor widzenia. Spróbuj podać kolor i alfa do widoku zamiast warstwy widoku, korzystając z poniższego kodu.

self.background.backgroundColor = UIColor.black 
self.background.alpha = 0.6 
+0

Próbowałem to i to działa z jakiegoś powodu. Wielkie dzięki! –

Powiązane problemy