问题列表 - 第14469页

MKMapView旋转经验

我有一个我正在考虑旋转的MKMapView,以便更方便地向我的用户显示一系列注释.

到目前为止,我计划用CGAffineTransform简单地旋转整个视图,但我想知道是否有人有任何MKMapView旋转经验.

  • 添加旋转时是否存在任何陷阱或"陷阱"?
  • 是否有更简单的方法来旋转mapview?
  • 如果我有一个叠加,convertCoordinate:toPointToView:方法仍然以相同的方式工作?我会假设我必须将相同的变换应用于我的叠加层以便排列点,但也许方法比这更聪明.

如果您认为有什么可以帮助我,我很乐意听到这一切.


编辑:经过多次实验,我相信我将使用静态地图,我可以自己旋转和叠加,但是,我仍然会对MKMapView旋转的任何信息感兴趣.

iphone cocoa-touch affinetransform mapkit mkmapview

8
推荐指数
3
解决办法
5445
查看次数

以编程方式移动鼠标

有点奇怪,但是如何使用vb.net中的代码移动光标?我似乎找不到合适的方法.

这是在vb.net中

vb.net

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

参考lhs和rhs在C++中的差异

我正在学习C++,我发现当参考文献位于右侧时,可能有两种情况.假设我有一个方法:

int& GetMe(int& i) { return i; }
Run Code Online (Sandbox Code Playgroud)

我有:

(1) int j; GetMe(j) = GetMe(i);

(2) int& k = GetMe(i);

(1)和(2)的后果是不同的.在(1)中,语义是复制iinto 的值j.地址ij保持不变.改变i根本不会影响j.实际上,当您重载索引运算符[]并使用索引运算符进行赋值时就是这种情况.在(2)中,语义是创建ias 的指示对象k.k具有相同的地址i和改变i影响k.

那么为什么我们有差异呢?我认为,在C++中,引用的地址只确定一次.一旦确定了引用的地址,就不能在以后更改它.在(1)中,引用j是在之前确定的,因此动作是将值复制ij.在(2)中,k正在声明和初始化引用,因此使用引用来完成i.所以动作就是参考初始化.

我没有找到明确说明上述内容的材料,所以我想要确认.任何人都知道C++中的参考资料必须能帮助我或指出我清楚材料.非常感谢您的进步.

c++ reference

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

红宝石中的guid发生器

可能重复:
Ruby中的Guids

如何在ruby中生成全局唯一ID(不使用rails/merb)?

ruby guid generator

7
推荐指数
0
解决办法
7240
查看次数

没有传统"菜单"栏的应用程序的可用性

我最近注意到,在Windows应用程序中似乎不再包含应用程序中的菜单栏("文件编辑..."菜单),而是将功能链接到看似随机分布在应用程序周围的图标窗口.例如:IE8,Windows 7媒体播放器.

是否有任何可用性证据推动这一变化?(我个人认为这些应用程序很难使用)

如果是这样,有人可以建议我可能会在哪里找到这项研究,也许还有一些使用这种风格编写新应用的指南?

一些答案表明这是"丝带"风格,这似乎是我正在看的.我仍然无法找到有效/无效的指导方针或证据.

windows user-interface

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

MS Access错误"ODBC - 调用失败.转换规范(#0)的字符值无效"

有谁知道这个错误意味着什么或如何解决它?我正在使用Access 2003和SQL2005.尝试在特定子表单上添加记录时出现.

[Microsoft] [SQL Native Client]强制转换规范的字符值无效(#0)

此MS错误报告描述了相同的消息,但它是SQL Server 6.5中已经解决的错误.

解决:显然目标表上没有PK导致这种情况,它与子表单或来自Access的查询没有任何关系.我甚至不知道没有PK的数据库中有表.将PK添加到目标表解决了它.奇怪的是,通过SQL本机客户端执行时出错的查询字符串相同,通过SSMS执行且没有错误.希望这可以帮助其他遇到过这个奇怪信息的人.

sql sql-server ms-access sql-server-2005

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

截断交易中的表格

可以在事务中使用SQL"truncate table"命令吗?我正在创建一个应用程序,我的表有大量的记录.我想删除所有记录,但如果应用程序失败,我将回滚我的事务.删除每条记录需要很长时间.我想知道我是否使用截断表,我是否仍然可以回滚事务并在发生故障时恢复数据.我意识到truncate table不会将每个删除写入事务日志,但我想知道它是否将页面释放写入日志以便回滚工作.

sql sql-server transactions truncate sql-server-2005

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

澄清/清除GIT中的行结束问题

我们有一个从subversion导出到git的存储库.此存储库由Mac,Linux和PC用户使用.毋庸置疑,行结尾是一团糟.有些文件以CRLF,LF或CR结尾,有些文件在一个文件中的所有两个或三个文件之间混合.

添加autocrlf = true似乎稍微解决了一些问题.然而,差异有时会变得相当奇怪,即对文件进行一行编辑会使差异中的所有行都显示出来(我认为这是由于文件的行结尾都被重写了),有时一行编辑为文件正常工作.

有没有一个网站,或者有人可以解释我们如何解决这个问题?是否有我们必须设置的git设置,或者我们是否必须对所有文件进行批量更新以使某一行结束或具有什么?

任何帮助都会非常感激,因为它非常混乱!

(以下stackoverflow文章似乎可能有所帮助,虽然它没有回答当我们有另一个mac或pc或linux用户提交另一个补丁时会发生什么)

git

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

如何在C#.NET中跨线程锁定控制台?

我有一个记录器类,处理各种颜色的信息显示(耶.).但是,因为它以分开的步骤写入控制台(即将颜色设置为红色,写入文本,将颜色设置为灰色,写入文本,以便呈现"[错误]描述...",错误为红色) ,但我有一个多线程应用程序,所以步骤可以混淆和随机颜色打印随机的东西.

我知道lock关键字,但它不适用于静态类,如控制台.

如果我不清楚,这是一些示例代码:

using System;
using System.Text;

    namespace N.Utilities.IO
    {
        public static class Logger
        {
            private static void WriteColored(string value, ConsoleColor color)
            {
                if (Logger.UseColor)
                {
                    Console.ForegroundColor = color;
                    Console.Write(value);
                    Console.ForegroundColor = ConsoleColor.Gray;
                }
                else
                {
                    Console.Write(value);
                }
            }   

            private static void WriteLineColored(string value, ConsoleColor color)
            {
                if (Logger.UseColor)
                {
                    Console.ForegroundColor = color;
                    Console.WriteLine(value);
                    Console.ForegroundColor = ConsoleColor.Gray;
                }
                else
                {
                    Console.Write(value);
                }
            }

            private static bool useColor = true;

            public static …
Run Code Online (Sandbox Code Playgroud)

c# console logging locking

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

Quartz 2D:CGColorSpaceCreateLab:范围参数的用途?

在Quartz 2D中,该CGColorSpaceCreateLab()函数采用range如下定义的参数:

CGFloat范围[4]: 4个数字的数组,用于指定颜色空间的a*和b*分量的有效值范围.a*组件表示从绿色到红色的值,b*组件表示从蓝色到黄色的值.

问题是,这个参数实际上做了什么?

我可以想到至少三种可能的情况.

选项1:可能会缩放组件值

假设我有两个不同范围的颜色空间:

CGFloat range1[] = {  -10,  10,  -10,  10 };
CGFloat range2[] = { -100, 100, -100, 100 };
CGColorSpaceRef space1 = CGColorSpaceCreateLab(whitePoint, blackPoint, range1);
CGColorSpaceRef space2 = CGColorSpaceCreateLab(whitePoint, blackPoint, range2);
Run Code Online (Sandbox Code Playgroud)

我创建具有相同组件值的颜色,并在每个空间的指定范围内:

CGFloat components[] = { 50, 10, 10, 1 };
CGColorRef color1 = CGColorCreate(space1, components);
CGColorRef color2 = CGColorCreate(space2, components);
Run Code Online (Sandbox Code Playgroud)

color1color2代表相同的颜色?或者range参数是否以某种方式缩放组件,使这两种颜色不同?(如果是后者,range对应于标准CIELAB坐标缩放的值是多少?

选项2:可能它会剪切组件值

鉴于上面定义的两个空格,请说我创建以下颜色:

CGFloat components[] = …
Run Code Online (Sandbox Code Playgroud)

core-graphics colors quartz-graphics

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