我是iOS开发的新手,我在尝试一些应该很容易的事情时度过了一段艰难的时光.每次用户单击其中一个现有行时,在TableView中添加一行.这个动作没有真正的目的,我只是想了解TableView的行为.
所以我做了以下事情:
我使用了基于Split View的模板,并在RootViewController中将行数更改为30.
- (NSInteger)tableView:(UITableView *)aTableView numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
return 30;
}
Run Code Online (Sandbox Code Playgroud)
方法tableView:didSelectRowAtIndexPath以下列方式查找:
- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
/*
When a row is selected, set the detail view controller's detail item to the item associated with the selected row.
*/
NSMutableArray* paths = [[NSMutableArray alloc] init];
NSIndexPath *indice = [NSIndexPath indexPathForRow:30 inSection:0];
[paths addObject:indice];
detailViewController.detailItem = [NSString stringWithFormat:@"Second Story Element %d with all its information and bla bla bla", indexPath.row]; …Run Code Online (Sandbox Code Playgroud) 我正在使用javafx表视图控件来显示我的表数据.现在数据非常庞大,当我在控件中显示完整数据时,它会崩溃.有没有办法这样做或者我必须缓存数据,以便我可以以块的形式显示它.我应该使用JTable吗?
我已经设置了自定义单元格的uitableview.
我想将这些分为带标题的部分.看下面的照片我正在寻找以下布局:
部分 - 我的配置文件自定义单元格 - wwwwwwwwwwwwww ...
部分 - 应用程序
自定义单元格 - 游戏
自定义单元格 - 共享
自定义单元格 - 速率
自定义单元格 - 设置
自定义单元格 - 帮助
自定义单元格 - 注销
我可以看到如何添加一个部分并控制一个部分中的行,但这会将单元格复制到多个部分,我不知道如何让一个部分有一行,另一个部分有6行.我也希望将这些部分的样式显示出来,就像Facebook菜单样式一样.
我应该为实际部分创建自定义单元格而不对部分(单元格)选择执行操作吗?
这是UITableView的代码
static NSString *CellIdentifier = @"Cell";
LeftMenuTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"LeftMenuTableViewCell" owner:nil options:nil];
for (UIView *view in views) {
if([view isKindOfClass:[UITableViewCell class]]) {
cell = (LeftMenuTableViewCell*)view;
}
}
}
Run Code Online (Sandbox Code Playgroud)

在JavaFX 2中,使用CSS,是否可以创建2种颜色的背景?想象一下,例如TableCell高度为10像素.我希望前2 px(垂直)为红色,其余8 px(垂直)应保持默认背景颜色.在JavaFX 2中使用CSS是否可行?怎么样?
例:
原始背景:

期望的结果:
(上面的2个像素被红色代替)
感谢您对此的任何暗示!
我知道Task有一个方法updateProgress,我需要将progressbar绑定到任务,但是我不能这样做,因为我没有进度条作为对象.
我的程序有一个TableView.用户输入下载URL并单击下载在TableView中创建的新行.Row有一些信息和进度条列.然后我开始一个新线程 - 任务.所有下载都在哪里,我需要以某种方式更新该行的进度条.
我尝试将SimpleDoubleProperty绑定到Task但它不更新进度条...
我想知道是否有可能使用a ObservableMap来填充TableView?我使用ObservableMap而不是ObservableList因为我需要经常添加和删除,所以我需要最小化成本.
我的hashMap使用BigInteger作为键字段,使用具有许多属性作为值字段的类型.在我的tableView中,我只想显示每个属性列的值.我希望这很清楚
谢谢
有很多教程,并且通过扩展JavaFX单元以使它们可编辑来实现这一目标的许多建议.一个好的是这个stackoverflow问题.
但官方教程使用方法调用来创建回调,而无需编写所有代码,通过调用
lastNameCol.setCellFactory(TextFieldTableCell.forTableColumn());
Run Code Online (Sandbox Code Playgroud)
但是当我在我的代码中执行此操作时(FormTokens是我的"模型"):
// At beginning of class declaration
@FXML private TableColumn<FormTokens, String> valuColumn;
// Later at initialization
valuColumn.setCellFactory(TextFieldTableCell.forTableColumn());
Run Code Online (Sandbox Code Playgroud)
编译说:
方法setCellFactory(
Callback<TableColumn<FormTokens,String>,TableCell<FormTokens,String>>)
在类型TableColumn<FormTokens,String>
中不适用于参数
(Callback<TableColumn<Object,String>,TableCell<Object,String>>)
如果我删除上面提到的方法调用,除了TableView单元格不可编辑外,一切正常.我究竟做错了什么?
编辑:我刚刚发现:Javafx TableView无法编辑但是没有解决方案.我该如何投Callback<TableColumn<Object,...来Callback<TableColumn<FormTokens,...?
iTunes中的专辑视图具有光滑的效果,其中专辑标题和封面艺术始终保持在视图中.如果您向下滑动屏幕,它们将固定在屏幕顶部,直到它们碰到下一个专辑,然后它们就会滑落.

请注意,即使用户向下滚动,顶级专辑仍然完全可见.
这个控制或效果叫什么?我想要谷歌尝试空白.
我怎么能在JavaFX中做到这一点?我想在我的基于Java的GUI中模仿这个.TableView可以执行此操作,还是可以执行某些第三方控件?
问题
我想动态地向TableView添加数据并滚动到新数据的位置.但是当TableView中的行达到ViewPort大小时,我会在控制台中得到它:
2015年4月18日上午9:14:34 com.sun.javafx.scene.control.skin.VirtualFlow addTrailingCells INFO:index超过maxCellCount.检查类javafx.scene.control.TableRow的大小计算
所以我想我做错了什么.我所做的只是使用Oracle TableView示例并添加:
// button to add new data
Button bt = new Button( "Add");
bt.setOnAction(e -> {
// insert new item
int i = data.size() + 1;
Person person = new Person( "Name " + i, "Name " + i, "Mail " + i);
data.add( person);
// scroll to new item
table.scrollTo( person);
});
Run Code Online (Sandbox Code Playgroud)
使用时会发生同样的情况
table.getItems().add( person);
Run Code Online (Sandbox Code Playgroud)
而不是修改列表.
罪魁祸首是scrollTo方法.将行索引与scrollTo方法一起使用时,会出现相同的信息/错误.
题
如何正确地向TableView添加新项目,以便不显示信息/错误?
码
这是一个完整的例子.该表已预先填写.如果按"添加"按钮,则达到视口大小,并在控制台中显示信息(或错误?).
public class TableViewSample extends Application {
private TableView<Person> table = new …Run Code Online (Sandbox Code Playgroud) 我正在进行类似应用程序的聊天,其中tableView显示动态高度单元格.
单元格以正确的方式限制其视图和子视图
这样AutoLayout 就可以预测细胞的高度
(上,下,领先,尾随)
但仍然- 正如您在视频中看到的那样 -滚动指示条显示计算出错误的高度:
它会在出现新行时重新计算高度.
视频: https ://youtu.be/5ydA5yV2O-Q
(在第二次尝试向下滚动一切都很好)
码:
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
Run Code Online (Sandbox Code Playgroud)
这是一个简单的问题.有人可以帮我吗?
添加了github:
tableview ×10
javafx ×5
javafx-2 ×3
ios ×2
java ×2
cell ×1
css ×1
javafx-8 ×1
performance ×1
progress-bar ×1
scrollview ×1
swift ×1
uitableview ×1