小编Ale*_*ber的帖子

在UIScrollView中拖动UIView

我试图解决iPhone上拖放的基本问题.这是我的设置:

  • 我有一个UIScrollView,它有一个大内容子视图(我可以滚动和缩放它)
  • 内容子视图有几个小图块作为子视图,应该在其中拖动.

我的UIScrollView子类有这个方法:

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
    UIView *tile = [contentView pointInsideTiles:[self convertPoint:point toView:contentView] withEvent:event];
    if (tile) {
        return tile;
    } else {
        return [super hitTest:point withEvent:event];
    }
}
Run Code Online (Sandbox Code Playgroud)

内容子视图有这种方法:

- (UIView *)pointInsideTiles:(CGPoint)point withEvent:(UIEvent *)event {
    for (TileView *tile in tiles) {
        if ([tile pointInside:[self convertPoint:point toView:tile] withEvent:event])
            return tile;
    }

    return nil;
}
Run Code Online (Sandbox Code Playgroud)

并且tile视图有这个方法:

- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
    UITouch *touch = [touches anyObject];   
    CGPoint location = [touch locationInView:self.superview];

    self.center = location;
}
Run Code Online (Sandbox Code Playgroud)

这有效,但不完全正确:在拖动过程中,瓷砖有时会"掉落".更确切地说,它停止接收touchesMoved:invocations,滚动视图开始滚动.我注意到这取决于拖动速度:拖动越快,瓷砖"下降"越快.

有关如何将瓷砖粘在拖动手指上的任何想法?

iphone objective-c

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

PHP session_start()

这究竟是什么?

它是否基于cookie启动当前会话?从PHP网站获得.PHP如何控制会话?如果我在用户打开登录页面时启动会话,我甚至可以使用该会话?我可以使用当前会话获取有关登录用户的信息吗?

php session

22
推荐指数
2
解决办法
5万
查看次数

如何从PostgreSQL数据库中的文本文件加载数据?

我有一个像(CSV文件)的文件:

value1|value2|value2....

value1|value2|value2....

value1|value2|value2....

value1|value2|value2....
Run Code Online (Sandbox Code Playgroud)

并希望将这些数据加载到postgresql表中.

database csv postgresql

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

将故事板添加到现有项目

我创建了一个没有故事板支持的项目,但后来我添加了一个故事板.故事板工作得很好,我在模拟器中加载应用程序时看到它的内容.

然后我创建了一个视图控制器(UIViewController),我的问题是我无法将任何控件从故事板绑定到我的控制器.

所以我的问题是如何将我的控制器与故事板连接起来.

objective-c storyboard ios

22
推荐指数
4
解决办法
2万
查看次数

在编译时确定#defined字符串长度

我有一个C程序(一个Apache模块,即程序经常运行),它将write()通过套接字转到0端接的字符串,所以我需要知道它的长度.

字符串#defined为:

#define POLICY "<?xml version=\"1.0\"?>\n" \
   "<!DOCTYPE cross-domain-policy SYSTEM\n" \
   "\"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd\">\n" \
   "<cross-domain-policy>\n" \
   "<allow-access-from domain=\"*\" to-ports=\"8080\"/>\n" \
   "</cross-domain-policy>\0"
Run Code Online (Sandbox Code Playgroud)

请问一种方法,比strlen(POLICY)+1在运行时使用更好(从而一次又一次地计算长度)?

一个预处理器指令,它允许POLICY_LENGTH在编译时设置?

c macros c-strings strlen c-preprocessor

21
推荐指数
3
解决办法
2万
查看次数

如何声明7英寸平板电脑Android的布局?

我正在开发10英寸和7英寸平板电脑的应用程序,这是我10'inch平板电脑的问题我已经宣布布局为(layout-xlarge-land&layout-xlarge-port),而到7'inch我宣布布局为(layout-sw600dp-land&layout-sw600dp-port)?

虽然来到7英寸的平板电脑它不适合我,我正在使用的平板电脑是(iRobot).

android

21
推荐指数
4
解决办法
2万
查看次数

PHP如何截断数组

如何以最有效的方式截断PHP数组?

我应该使用array_splice吗?

php

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

如何防止Google图表中的图例标签被截断

使用Perl脚本,我可以同时为20个或更多系列数据生成大量Google线图.

图例标签的形式为:迭代#counter附加的序列号.

不幸的是,从#10开始,这些计数器被切断了:

在此输入图像描述

有没有办法阻止谷歌图表这样做?

我非常简单的图表代码如下:

    var data = { ...... };

    function drawCharts() {
            for (var csv in data) {
                    var x = new google.visualization.DataTable(data[csv]);

                    var options = {
                            title: csv,
                            width: 800,
                            height: 600
                    };

                    var chart = new google.visualization.LineChart(document.getElementById(csv));
                    chart.draw(x, options);
            }
    }

    $(function() {
            google.setOnLoadCallback(drawCharts);
    });
Run Code Online (Sandbox Code Playgroud)

charts legend google-visualization

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

二进制vs文本协议

我想知道二进制和基于文本的协议之间的差异.我读到二进制协议更紧凑/更快处理.这怎么办?既然你必须发送相同数量的数据?没有?

例如,字符串"hello"在二进制格式中的大小有何不同?

binary protocols

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

ImageView中透明的图像部分变为黑色

在Android KitKat(Nexus 7)中显示透明图像时出现问题,在nexus 4(KitKat)和其他以前的Android操作系统中都可以,这里的图像:

在此输入图像描述

和ImageView布局:

<ImageView
android:id="@+id/avatar"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="21dp"
android:padding="3dp"
android:src="@drawable/icon_button_profile_new"
android:tag="@string/avatar" />
Run Code Online (Sandbox Code Playgroud)

这里是在Nexus 7(Android 4.4)上运行时的屏幕截图 在此输入图像描述

另外,我使用Picasso从URL下载和缓存图像.

android imageview picasso

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