2016-09-09 3 views
2

Когда я добавляю tableView в viewController, по умолчанию прокрутки tableView, но я хочу, чтобы он был статичным. Является ли это возможным?Как отключить прокрутку таблицы TableView?

Вот мой код:

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
{ 
    return names.count 
} 

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
{ 
    let cell = tableview.dequeueReusableCellWithIdentifier("cell") as! TableViewCell 
    cell.username.text = names[indexPath.row] 
    return cell 
} 

func numberOfSectionsInTableView(tableView: UITableView) -> Int 
{ 
    return 1 
} 

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat 
{ 
    return 50.0 
} 
+1

вы можете объяснить, что вы имеете в виду строк движется? – Shubhank

+0

Вы хотите отключить прокрутку таблицыView? –

+0

yess @ Umair Afzal – Bansal

ответ

0

Шнек для UITableView будет отключен, если размер содержимого подходит по размеру табличного

if (tableView.contentSize.height < tableView.frame.size.height) { 

    tableView.scrollEnabled = false 
} 
else { 

    tableView.scrollEnabled = true 
} 

Если вы хотите, чтобы отключить прокрутку независимо от содержания Размер:

tableView.scrollEnabled = false 

Изменить цвет разделительных линий UITableView (В соответствии с просьбой в комментариях):

tableView.separatorColor = UIColor(red:0.16, green:0.17, blue:0.20, alpha:1.00) 
+0

Этот код дает ошибку. Вы можете объяснить немного больше. – Bansal

+0

Произошла ошибка в названии, tableView, Edit made –

+0

Это код не влияет на пользовательский интерфейс tableview.it не может отключить прокрутку – Bansal

0

Отключить скроллинг в Interface Builder. Выберите вид таблицы и атрибуты инспектора ⌥⌘4

Затем снять отметку скроллинг Enabled

enter image description here

+0

Спасибо человеку !! работает – Bansal

0

ВАРИАНТ 1

Попробуйте использовать только эту строку кода в viewDidLoad():

self.tableView.scrollEnabled = tableView.contentSize.height > tableView.frame.height; 

Это abreviated способ:

if tableView.contentSize.height > tableView.frame.height { 
    self.tableView.scrollEnabled = true; 
} 
else { 
    self.tableView.scrollEnabled = false; 
} 

Объяснение: Если есть слишком много строк и заполнить больше места, чем TableView имеет это будет прокручивать. В противном случае это не произойдет. Вот почему в коде вы сравниваете размер контента с размером окна.

ВАРИАНТ 2:

Если вы хотите, чтобы отключить скроллинг во всех случаях именно это в viewDidLoad() тоже вместо:

self.tableView.scrollEnabled = false; 

ПРИМЕЧАНИЕ: Если вы дали специальное имя в tableView замените его именем таблицы TableView в коде, который я вам поделил.

3

Swift 3:

tableView.isScrollEnabled = false 
Смежные вопросы