标签: tableview

NSButtonCell内部定制NSCell

在我的cocoa应用程序中,我需要一个用于NSTableView的自定义NSCell.此NSCell子类包含用于处理单击的自定义NSButtonCell(以及用于文本内容的两个或三个NSTextFieldCells).您将在下面找到我的代码的简化示例.

@implementation TheCustomCell

- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {
   // various NSTextFieldCells
   NSTextFieldCell *titleCell = [[NSTextFieldCell alloc] init];
   ....
   // my custom NSButtonCell
   MyButtonCell *warningCell = [[MyButtonCell alloc] init];
   [warningCell setTarget:self];
   [warningCell setAction:@selector(testButton:)];
   [warningCell drawWithFrame:buttonRect inView:controlView];
}
Run Code Online (Sandbox Code Playgroud)

我坚持的问题是:在这个NSCell中使用该按钮(更确切地说:NSButtonCell)以正常工作的最佳/正确方法什么?"工作"表示:触发指定的操作消息并在单击时显示备用图像.开箱即用,按钮在单击时不执行任何操作.

很难找到关于这个主题的信息/读物.我在网上找到的唯一帖子指出我要实施

- (BOOL)trackMouse:(NSEvent *)theEvent inRect:(NSRect)cellFrame ofView:(NSView *)controlView untilMouseUp:(BOOL)untilMouseUp; 
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?实现trackMouse:在我的包含NSCell中?然后将事件转发给NSButtonCell?我本来期望NSButtonCell本身知道在点击它时该做什么(我看到trackMouse:方法更多的是在cunjunction,真正跟踪鼠标移动 - 而不是作为'标准'点击行为的训练轮).但是当它被包含在一个单元格本身时似乎不会这样做......似乎我还没有掌握自定义单元格的大图,但是;-)

如果有人能够根据自己的经验回答这个问题(或指向我的某些教程等),我会很高兴 - 告诉我我是否走在正确的轨道上.

托比,提前谢谢

cocoa tableview nscell nsbuttoncell

9
推荐指数
2
解决办法
7162
查看次数

JavaFX TableView复制到剪贴板

是否可以允许用户从TableView中选择行并进行复制?

tableview javafx-2

9
推荐指数
2
解决办法
9951
查看次数

如何绕过JavaFX的TableView"占位符"?

JavaFX TableView有一个占位符属性,它基本上是在它为空时Node显示的TableView.如果此属性设置为null(其默认值),则它显示为一个Label或其他一些基于Node"表中没有内容"的文本.

但是如果表中有任何数据行,则占位符将Node消失,并且整个垂直空间TableView将填充行,如果没有足够的数据填充整个表,则包括空行.

这些空行是我想要的,即使表是空的.换句话说,我根本不想使用占位符.有谁知道我怎么做到这一点?

我宁愿不做什么事情,就像TableView在它应该实际上是空的时候放一个空洞的行.

java javafx tableview javafx-2 javafx-8

9
推荐指数
1
解决办法
3194
查看次数

(Swift)PrepareForSegue:致命错误:在展开Optional值时意外发现nil

DetailViewController:

    @IBOutlet var selectedBundesland: UILabel!
Run Code Online (Sandbox Code Playgroud)

TableViewController:

    override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {


    if (segue.identifier == "BackToCalculator") {
        var vc:FirstViewController = segue.destinationViewController as FirstViewController
            vc.selectedBundesland.text = "Test"
    }
Run Code Online (Sandbox Code Playgroud)

IBOutlet已连接!

错误:致命错误:在解包可选值时意外发现nil

我阅读了关于Optionals的多个页面,但我不知道我的问题的答案.

您是否需要有关我的项目的更多信息?

tableview iboutlet ios segue swift

9
推荐指数
3
解决办法
8242
查看次数

如何在Xcode中为我的tableview添加上边距?

我正在尝试在表格视图的第一个单元格的顶部添加图像.如何让表格视图有一个上边距?现在,图像只是与tableview重叠.我试图让表格视图稍微下降.我不想让它变小或类似的东西.我只想在tableview的顶部添加一个按钮.

//
//  usersVC.swift
//  CaastRun
//
//  Created by Computer on 5/23/15.
//  Copyright (c) 2015 Caast. All rights reserved.
//

import UIKit

class usersVC: UIViewController, UITableViewDataSource, UITableViewDelegate {



    @IBOutlet weak var resultsTable: UITableView!

    var resultsNameArray = [String]()
    var resultsUserNameArray = [String]()
    var resultsImageFiles = [PFFile]()

    override func viewDidLoad() {
        super.viewDidLoad()
        let theWidth = view.frame.size.width
        let theHeight = view.frame.size.height
        resultsTable.frame = CGRectMake(0, 0, theWidth, theHeight)

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be …
Run Code Online (Sandbox Code Playgroud)

xcode position margin tableview swift

9
推荐指数
1
解决办法
1万
查看次数

JavaFX中有2种颜色的背景?

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

例:

原始背景:

在此输入图像描述

期望的结果:

在此输入图像描述 (上面的2个像素被红色代替)

感谢您对此的任何暗示!

css cell background-color tableview javafx-2

8
推荐指数
2
解决办法
7696
查看次数

JavaFX更新来自Task的tableview中的进度条

我知道Task有一个方法updateProgress,我需要将progressbar绑定到任务,但是我不能这样做,因为我没有进度条作为对象.

我的程序有一个TableView.用户输入下载URL并单击下载在TableView中创建的新行.Row有一些信息和进度条列.然后我开始一个新线程 - 任务.所有下载都在哪里,我需要以某种方式更新该行的进度条.

我尝试将SimpleDoubleProperty绑定到Task但它不更新进度条...

multithreading javafx tableview progress-bar

8
推荐指数
1
解决办法
1万
查看次数

将数据从tableView传递到Swift中的ViewController

我有一个应用程序,我正在尝试完全适应我想要的

我一直在关注Seemu Apps的Youtube教程,但是我需要添加一个可选的ViewController来完成它

这个应用程序有2个tableViews显示车辆,如果我们点击第一个tableView的一行,然后第二个tableView将显示所选车辆的列表.

这是我们到现在为止所拥有的:(图片链接,因为我在stackOverFlow上没有得到十分的声誉)

http://subefotos.com/ver/?65ba467040cb9280e8ec49644fd156afo.jpg

一切都运行完美,但我希望能够在可选的detailViewController中显示信息(带有每个车辆的详细描述的标签和更大的图像),具体取决于我们在secondTableViewControlle(或应用程序中的modelViewController)中单击的车辆究竟我是如何在tableViews之间的教程中遵循的

我知道我们需要通过prepareForSegue方法传递数据,我已经理解了这在制作教程中的步骤但我们有2个tableviewControllers

例如:如果我们想要显示最后一个viewController,其中包含法拉利458的信息以及这款车的精彩图片

我们需要做些什么才能显示每辆车的信息?

PD:我是编程领域的初学者,也许我需要以非常简单的方式看待它

整个代码:

ViewController.swift

import UIKit

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

     var selMake = String()

     @IBOutlet var tableView : UITableView!

    var transportData : [String] = ["Car", "Plane", "Motorcycle", "Truck" , "Train", "Bicycle" , "Helicopter"]

    //////////////////////////////////////////

    //viewDidLoad    
    override func viewDidLoad() {
        super.viewDidLoad()
        //Register custom cell

        var nib = UINib(nibName: "customCell", bundle: nil)
        tableView.registerNib(nib, forCellReuseIdentifier: "cell")
    }

    //Numbers of rows in Section        
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return …
Run Code Online (Sandbox Code Playgroud)

tableview swift

8
推荐指数
1
解决办法
2万
查看次数

如何正确地向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)

javafx tableview

8
推荐指数
1
解决办法
3425
查看次数

如何通过 SnapKit 更新高度约束并更新单元格高度?

我有一个 TableViewCell 和两个按钮来切换不同的约束。
我想更新它的高度约束和单元格高度。
就像
当我点击buttonB时跟随pic1一样,视图会像
pic2一样改变然后我点击buttonA,视图将回到pic1
我尝试修改约束,但我无法更新高度。
对我有什么想法或答案吗?
谢谢

图片1

在此处输入图片说明

图片2

在此处输入图片说明

这是代码:

class CellContainView: UIView {

let buttonA: UIButton = { () -> UIButton in
    let ui = UIButton()
    ui.titleLabel?.numberOfLines = 0
    ui.setTitle("Click\nA", for: .normal)
    ui.backgroundColor = UIColor.blue
    return ui
}()

let buttonB: UIButton = { () -> UIButton in
    let ui = UIButton()
    ui.titleLabel?.numberOfLines = 0
    ui.setTitle("Click\nB", for: .normal)
    ui.backgroundColor = UIColor.gray
    return ui
}()

let buttonC: UIButton = { () -> UIButton in
    let ui = UIButton() …
Run Code Online (Sandbox Code Playgroud)

uitableview tableview ios swift snapkit

8
推荐指数
2
解决办法
8481
查看次数