大家好,我是Apple Watch开发的新手,有没有办法在Apple Watch中显示进度条?我有一个应用程序,其中有进度条,用用户位置更新。我在iPhone中实现了相同的功能,但现在我想在Apple Watch中实现相同的功能。有没有办法做到这一点?
答案 0 :(得分:4)
目前WatchKit中没有进度条。
一个相当简单的解决方法是设计一个看起来像进度条的WKInterfaceImage以及用于填充条形图的渐进式图像。然后更新显示的当前图像以匹配用户所在位置的百分比。
答案 1 :(得分:2)
watchOS 2+中纯色进度条的最简单方法需要1张图片:
DECLARE @YourTable Table([DateCol] DATETIME, [Actual] NUMERIC(10,2), [Planned] NUMERIC(10,2))
INSERT INTO @YourTable ([DateCol], [Actual], [Planned])
VALUES
('01-05-2016 07:00:01',3.1,2.7),
('01-05-2016 19:00:01',2.9,2.7),
('03-05-2016 07:00:01',3.2,2.7),
('03-05-2016 07:00:01',3.4,2.7),
('05-06-2016 07:00:01',3.2,2.7),
('07-06-2016 07:00:01',2.6,2.7),
('07-06-2016 07:00:01',3.2,2.7)
DECLARE @begin DATETIME,
@End DATETIME
SELECT @begin = MIN([DateCol]), @End = MAX([DateCol])
FROM @YourTable
-- For Monthly avg.
SET @begin = DATEADD(MONTH, DATEDIFF(MONTH,0,@begin),0)
SET @End = DATEADD(DAY,-1,DATEADD(MONTH, DATEDIFF(MONTH,0,@End),0))
--SELECT @begin,@End
;WITH Months
AS
(
SELECT @begin DateRange
UNION ALL
SELECT DATEADD(MONTH,1,DateRange)
FROM Months
WHERE DateRange < @End
)
SELECT m.DateRange, DATEADD(DAY,-1,DATEADD(MONTH, DATEDIFF(MONTH,0,m.DateRange)+1,0)) [DateRangeEnd],AVG([Actual]) [AvgActual],AVG([Planned]) [AvgPlanned]
FROM @YourTable y
INNER JOIN Months m
ON y.DateCol BETWEEN m.DateRange AND DATEADD(DAY,-1,DATEADD(MONTH, DATEDIFF(MONTH,0,m.DateRange)+1,0))
GROUP BY m.DateRange,DATEADD(DAY,-1,DATEADD(MONTH, DATEDIFF(MONTH,0,m.DateRange)+1,0))
。如果您想要一个垂直进度条,可以使用progressBarImage.setRelativeWidth(CGFloat(currentValue / maxValue), withAdjustment: 0)
。
您还可以在手机上动态创建图像。我将此作为练习留给读者。
答案 2 :(得分:0)
我找到了一种更简单的方法。
您可以使用两组来完成。过程类似于 Fizker 的回答。
progressGroup.setRelativeWidth(CGFloat(currentValue / maxValue), withAdjustment: 0)