Pertanyaan iOS: Cara mengganti sorotan / sorotan Search Bar bersinar dengan satu warna


Bagaimana cara menghapus bersinar / glow (gradien) dari latar belakang Search Bar. Saya ingin menggantinya hanya dengan satu warna.

Dari ini:

enter image description here

Untuk sesuatu seperti ini

enter image description here


5
2017-07-14 15:56


asal


Jawaban:


Menggunakan

searchbar.backgroundImage = //your image here

dan Anda dapat menggunakan kategori bagus yang saya buat untuk uiimage yang akan menghasilkan gambar berdasarkan warna

https://github.com/Hackmodford/HMUIImage-imageWithColor

Jadi semuanya akan terlihat seperti ini

searchBar.backgroundImage = [UIImage imageWithColor:[UIColor blueColor]];

Itu akan menghasilkan efek yang Anda inginkan.


1
2017-08-24 16:36



1 Untuk menghapus latar belakang mengkilap:

UISearchBar memiliki subbagian kelas UISearchBarBackground, hanya siklus melalui subviews dan ketika Anda menemukan subview dari kelas itu, atur alpha-nya ke 0.

Contoh RubyMotion:

searchBar.subviews.each { |v| v.alpha = 0 if v.class == UISearchBarBackground }  

2 Untuk menambah latar belakang yang solid, override metode drawRect:

Contoh RubyMotion:

def drawRect(rect)
  blackColor = '#222222'.to_color
  context = UIGraphicsGetCurrentContext()
  CGContextSetFillColor(context, CGColorGetComponents(blackColor.CGColor))
  CGContextFillRect(context, rect)      
end

1
2018-02-14 18:25



Jangan berpikir Anda bisa, mencobanya sendiri dan tampaknya menjadi bagian dari API, Heres yang serupa pos yang menanyakan hal yang sama Alasan FB satu adalah warna solid karena afaik aplikasi FB menggunakan kerangka Three20. Tetapi bahkan dengan semua skala mereka turun masih mentah 30 MB dalam ukuran, ekstrim berlebihan untuk bar pencarian dalam kasus Anda

Bahkan tidak tahu apakah gambar akan berfungsi karena Anda tidak dapat mengatur area di sekitar bilah itu sendiri agar jelas atau transparan untuk meletakkan gambar di bawahnya


0
2017-07-14 16:24