tableView的一些使用

本文介绍如何在iOS应用中使用Swift调整UITableView的cell分割线样式,包括隐藏多余分割线、设置分割线长度及解决footerView存在时最后一个cell分割线不显示的问题。

隐藏多余的分割线

self.tableView.tableFooterView = [[UIView alloc] init];


cell分割线左右各短15px

/**
 *  cell分割线左右各短15px
 */
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    cell.separatorInset = UIEdgeInsetsMake(0, 15, 0, 15);

}


解决UITableView有footerView时最后一个cell不显示分割线问题

//重写layoutSubViews方法(显示分割线)
- (void)layoutSubviews {
    [super layoutSubviews];
    for (UIView *subview in self.contentView.superview.subviews) {
        if ([NSStringFromClass(subview.class) hasSuffix:@"SeparatorView"]) {
            subview.hidden = NO;
        }
    }
}


在JavaFX的TableView使用Checkbox可以通过以下方法实现。 首先要明确TableView是JavaFX用于显示表格的表视图 [^3]。在TableView里插入Checkbox,可设定该列的单元格类型为单选框,CheckBoxTableCell类在javafx.scene.control.cell.CheckBoxTableCell包中,设定之后,显示画面即为一个CheckBox [^2]。 另外,TableView上每个单元格,除了能容纳String、Integer等类型,还可容纳各种FX UI控件,因此可以将单元格填充为CheckBox [^4]。关于具体实现的更多细节,可参考stackoverflow上的相关回答:http://stackoverflow.com/questions/7217625/how-to-add-checkboxs-to-a-tableview-in-javafx [^1]。 以下是一个简单示例代码,展示如何在JavaFX的TableView使用Checkbox: ```java import javafx.application.Application; import javafx.beans.property.SimpleBooleanProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.scene.Scene; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.control.cell.CheckBoxTableCell; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class TableViewWithCheckbox extends Application { public static class Person { private final SimpleBooleanProperty selected; public Person(boolean selected) { this.selected = new SimpleBooleanProperty(selected); } public SimpleBooleanProperty selectedProperty() { return selected; } } @Override public void start(Stage primaryStage) { ObservableList<Person> data = FXCollections.observableArrayList( new Person(false), new Person(true), new Person(false) ); TableView<Person> tableView = new TableView<>(); tableView.setItems(data); TableColumn<Person, Boolean> checkBoxColumn = new TableColumn<>("Selected"); checkBoxColumn.setCellValueFactory(cellData -> cellData.getValue().selectedProperty()); checkBoxColumn.setCellFactory(CheckBoxTableCell.forTableColumn(checkBoxColumn)); tableView.getColumns().add(checkBoxColumn); VBox vbox = new VBox(tableView); Scene scene = new Scene(vbox, 200, 250); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值