问题列表 - 第37839页

iPhone:创建一个可重用的组件(控件),它包含一些Interface Builder部件和一些代码

我想为iPhone创建一个可重用的组件(自定义控件).它包含在View上预先安排的几个标准控件,然后是一些相关的代码.我的目标是:

  1. 我希望能够使用Interface Builder在我的自定义控件中布局子视图;
  2. 我想以某种方式打包整个事情,以便我可以相当容易地将生成的自定义组件拖放到其他视图中,而无需手动重新连接一堆插座等等.(一点点手动重新布线很好,我只是不想做吨和吨.)

让我更具体一点,并具体告诉你我的控制应该做什么.在我的应用程序中,我有时需要点击Web服务来验证用户输入的数据.在等待来自Web服务的回复时,我想显示一个微调器(一个活动指示器).如果Web服务使用成功代码回复,我想显示"成功"复选标记.如果Web服务回复错误代码,我想显示错误图标和错误消息.

执行此操作的一次性方法非常简单:我只创建一个包含UIActivityIndi​​catorView的UIView,两个UIImages(一个用于成功图标,一个用于错误图标),以及一个用于错误消息的UILabel.这是一个截图,相关部分标记为红色:

替代文字

然后我将这些部分连接到插座,然后在控制器中放入一些代码.

但是,我如何打包这些部分 - 代码和一小部分视图 - 以便我可以重用它们?这里有一些我发现的东西让我在那里,但不是那么好:

  • 我可以将视图和控件的集合拖到库的自定义对象部分; 然后,我可以将它们拖回到其他视图中.但是(a)它忘记了哪些图像与两个UIImages相关联,(b)有很多手动重新布线的四个或五个插座,(c)最重要的是,这并没有带来代码.(也许有一种简单的方法来连接代码?)
  • 我想我可以创建一个IBPlugin; 不确定这是否会有所帮助,而且看起来很多工作,而且我不完全清楚IBPlugins是否适用于iPhone开发.
  • 我想,"嗯,有与之相关的代码 - 闻起来就像一个控制器",所以我尝试WebServiceValidatorController用相关的XIB文件创建一个自定义控制器(例如).这实际上感觉很有希望,但在那时我无法弄清楚在Interface Builder中如何将此组件拖到其他视图上.它WebServiceValidatorController是一个控制器,而不是一个视图,所以我可以将它拖到文档窗口中,但不能拖到视图中.

我有一种感觉,我错过了一些明显的东西......

iphone xcode interface-builder

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

11
推荐指数
2
解决办法
6940
查看次数

RC车辆算法

我正在寻找算法,我不知道从哪里开始!

我试图在笛卡尔图中从A点到达B点.运动仅限于RC车的运动:向后,向前,向前 - 向左和向前 - 向右(恒定的转弯半径;汽车要么完全转动,要么根本不转弯).

我将如何构建一个采用以下方法的算法:

turningRadius, initialPosition, initialOrientation, finalPosition
Run Code Online (Sandbox Code Playgroud)

并产生一组有序的步骤来获得finalPosition?

请注意,我不关心最终的方向是什么.

谢谢!


编辑: 请注意,这不是具有谨慎节点的图形,而是连续坐标系

algorithm coordinate-systems motion-planning cartesian

5
推荐指数
1
解决办法
903
查看次数

私有继承和交换

我在两个非常相关的类的实现中使用私有继承.这using Base::X;是非常有用和优雅的.但是,我似乎找不到重用基类交换功能的优雅解决方案.

class A
{
public:
   iterator       begin();
   const_iterator begin() const;
   const_iterator cbegin() const;

   A clone();

   void swap( A& other );
};

class Const_A : private A
{
public:
   // I think using A::A; will be valid in C++0x
   Const_A( const A& copy) : A(copy) { }

   // very elegant, concise, meaningful
   using A::cbegin;

   // I'd love to write using A::begin;, but I only want the const overload
   // this is just forwarding to the const overload, still …
Run Code Online (Sandbox Code Playgroud)

c++ private-inheritance

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

在增加现有值的同时向字典添加新键

我正在处理一个CSV文件并计算第4列的唯一值.到目前为止,我已经用这三种方式编码了.一个使用"if key in dictionary",第二个使用KeyError,第三个使用"DefaultDictionary".例如(其中x [3]是文件中的值,"a"是字典):

第一种方式:

if x[3] in a:
    a[x[3]] += 1
else:
    a[x[3]] = 1
Run Code Online (Sandbox Code Playgroud)

第二种方式:

try:
    b[x[3]] += 1
except KeyError:
    b[x[3]] = 1
Run Code Online (Sandbox Code Playgroud)

第三种方式:

from collections import defaultdict
c = defaultdict(int)
c[x[3]] += 1
Run Code Online (Sandbox Code Playgroud)

我的问题是:哪种方式更有效......更干净......更好......等等还是有更好的方法.这两种方式都有效,并给出相同的答案,但我认为我会将蜂巢思维作为一个学习案例.

谢谢 -

python dictionary unique-key

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

双工系统WCF如何区分不同的通道实例?

嗯,我完全迷失了所以任何帮助都会受到赞赏

OperationContext.Current.InstanceContext是传入通道正在使用的当前服务实例的上下文.

在双工系统中,服务可以通过CallbackContract回调客户端.此CallbackContract非常类似于客户端上的服务,该服务正在侦听客户端已打开的通道上的服务的调用.此"客户端回调服务"只能通过其在服务上使用的相同通道进行访问,因此只有该服务才能访问它.

a)因此,在双工系统中,客户端也使用与客户端向服务发送消息的相同通道实例来接收来自服务的消息?

b)如果在请求 - 回复系统中客户端使用特定的通道实例clientChannel向服务发送消息,那么我假设同一实例(因此clientChannel)需要保持打开,直到服务向此实例发送回复,而在双工系统clientChannel需要时在会议结束前保持开放状态?

c)我假设这样的行为,因为据我所知,每个频道实例都有一个唯一的地址(或ID),这有助于区分它在同一客户端上运行的其他频道实例?当服务发回消息时,它还指定了该频道的ID?

因此,当双工系统客户端调用服务时,WCF(在客户端)创建clientChannel一个通过线路发送消息的通道实例.在服务器端,WCF创建通道实例serverChannel,该实例将消息传递给请求的操作(方法).当此方法想要通过回调到客户端时CallbackContract,它用于InstanceContext.GetCallBackChannel<>创建一个通道,其中包含调用服务的通道的ID(因此它包含确切的地址或ID clientChannel)?

d)双工系统客户端是否使用相同的通道实例来调用任何端点的操作?

谢谢

wcf

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

保存LINQ查询以供以后使用的最简单方法是什么?

我有一个功能请求,以便以后保存用户的搜索.

现在我正在根据用户指定的内容动态构建LINQ语句.

所以我开始想知道,有一种简单的方法可以让我简单地接受用户构建的查询,并将其保存在某个地方,最好是我的数据库,以便我以后可以检索它吗?

有没有办法将查询持久化为XML或JSON,然后再重新构建查询?

linq

6
推荐指数
1
解决办法
776
查看次数

为什么我的android微调器在textview中显示单选按钮?

我有一个带有动态管理的arrayadapter的微调器.当它显示时,微调文本也会显示单选按钮.我怎么摆脱这个单选按钮?下拉箭头都是拉伸和令人讨厌的...这就是我的问题.注意:我不是在谈论在我选择微调器上的下拉列表时显示的列表中的单选按钮.

这里是相应的代码片段......几点:

  • 这段代码在widget的构造函数中,它是Spinner的子类
  • value是一个Object实例数组(在创建小部件时传递)
  • 没有XML资源; 所有小部件都是动态创建的
  • 我想我需要"操纵"提示,我在构造函数和onitemclicked事件监听器中添加了setPrompt(...)...这没有任何效果.

问:我错过了什么?在我看来,我错过了Spinner的一些属性,导致单选按钮也显示在微调器的文本部分.

- 剪辑代码 -

public class ChoiceGroupImpl extends Spinner implements OnItemSelectedListener {
    public ChoiceGroupImpl(Activity activity, WidgetContainer container, Value widget, AttributeImpl attributes, Object[] value, int selected) {
...
        adapter = new ArrayAdapter<CharSequence>(activity, R.layout.simple_spinner_dropdown_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        for (int i = 0; i < value.length; i++)
            adapter.add(value[i].toString());
        if (attributes.isReadonly())
            setEnabled(false);
        setAdapter(adapter);
        setSelection(selected);
        setPrompt(adapter.getItem(selected));
        setOnItemSelectedListener(this);
...
}
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        setPrompt(adapter.getItem(position));
        ((ToolkitImpl) Toolkit.getInstance()).hiddenCommand(container, "SelectionChanged");
    }
...
Run Code Online (Sandbox Code Playgroud)

- 结束剪辑代码 -

android button spinner radio-button

7
推荐指数
2
解决办法
8679
查看次数

AudioServicesPlaySystemSound无法在iPad设备上运行

我正处于开发我的第一个iPad应用程序的早期阶段,为了简单起见,我到目前为止一直在使用AudioServicesPlaySystemSound和相关的函数来播放声音.我的代码基于Apple的Metronome示例中的SoundEffect类.

特定的症状是我可以听到模拟器中的声音但不能听到设备上的声音,尽管我已经确认我可以听到设备上其他应用程序的声音.AudioServicesCreateSystemSoundID返回有效的声音标识符,因此它不像具有不同情况的声音文件的名称那样简单,即"sound.mp3"与"Sound.mp3".

我知道我可能需要切换到不同的库,例如OpenAL,原因无关,但我想知道这里发生了什么.有没有人有什么建议?我可以调用一个函数来获取OSStatus值吗?

* BUMP - 过去几周我一直在研究其他项目,但我现在又重新开始了,我真的很感激答案.谢谢.

audio ipad audiotoolbox

6
推荐指数
2
解决办法
5720
查看次数

在UITextField中忽略制表符...(iPad应用)

我在每个单元格中都有一个带TextFields的TableView,我希望那些文本字段忽略字符tab(\t).

按Tab键时,textField:shouldChangeCharactersInRange不调用它的方法

有谁知道怎么做?我知道iPad键盘上没有标签键,但是blutooth和dock的键盘会触发一个非常奇怪的行为.

谢谢

iphone uitableview uitextfield ipad

13
推荐指数
1
解决办法
2504
查看次数